[MACRO EXCEL] créer une macro insérer des feuilles

créer une macro insérer des feuilles [MACRO EXCEL] - VB/VBA/VBS - Programmation

Marsh Posté le 04-12-2009 à 10:46:54    

Bonjour à toutes et à tous,
 
Après de multiples recherche sur le net, je ne trouve pas de solution à mon problème. Voici ce que je veux faire :
 
-j’ai 1 fichier excel dans lequel j’ai 2 feuilles
-sur la feuille 1, j’ai 3colonnes : une colonne nom, une colonne prenom et une colonne voiture
-il y a dans la feuille 2 un certain nombre de cases à remplir pour chaque conducteur….notamment le nom, prénom, véhicule
 
Mon idée est de créer une feuille par conducteur, mais je ne sais combien de feuille je vais devoir créer car je les rajoute au fur et à mesure…
 
Je cherche à créer une macro (je ne connais pas grand chose en macro !) pour automatiser les actions suivantes :
-lorsque j’ajoute un conducteur, la macro crée une nouvelle feuille (si possible avec le nom uniquement du conducteur).
-Cette nouvelle feuille serait en réalité la copie de la feuille 2 (feuille de renseignement)
-Et pour finir (oui c’est déjà pas mal je sais lol….) sur la nouvelle feuille qui vient d’être créée, les cases nom, prénom et véhicule serait déjà remplies !
 
Je sais que c’est pas facile quand on connaît rien en macro, mais je suppose que c’est réalisable avec excel…
 
Je vous remercie par avance pour les réponses que vous pourrez apporter à mon problème….
Si vous désirez d’autre éléments plus précis de ma demande….
 
Cordialement
Gia17

Reply

Marsh Posté le 04-12-2009 à 10:46:54   

Reply

Marsh Posté le 06-12-2009 à 10:03:21    

Bonjour  
 
Voici ce que je te propose:
 

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim Maplage As Range
  3. 'si on écrit ailleurs que ds la col 4:
  4. If Target.Column <> 4 Then Exit Sub
  5.  
  6.   'si on écrit autre chose que  "ok"  ('tention les minuscules!):
  7.   If Target.Value <> "ok" Then Exit Sub
  8.  
  9.   ' on appelle temporairement      Maplage    les 3 cellules précédent le   "ok"
  10.   Set Maplage = Range(Target.Offset(0, -3), Target.Offset(0, -1))
  11.    
  12.     'on donne à la variable    LeNOM   la valeur de la cellule 3 cases avant le "ok"
  13.     LeNOM = Target.Offset(0, -3).Value
  14.            'on copie la feuille(2) à la fin du classeur    ('tention: la feuille(2) n'est pas forcément la 2° feuille  voir commentaire)
  15.            Sheets(2).Copy after:=Sheets(Sheets.Count)
  16.          
  17. 'on sélectionne la case de destination:    (bien garder "ActiveSheet" )
  18. ActiveSheet.Range("A2" ).Select
  19. 'on copie les 3 cellules de la feuille(1)
  20.    ActiveSheet.Range(ActiveCell, ActiveCell.Offset(0, 2)).Value = Maplage.Value
  21. 'en cas d'homonymes, on sort à la prochaine:
  22. On  Error GoTo fin
  23.    'on donne à cette nouvelle feuille le nom du conducteur (1ère case de "Maplage" )
  24.    ActiveSheet.Name = LeNOM
  25. fin: 
  26.    End Sub


 
Avant toutes choses:
sélectionne cette macro, fais ctrl+C
ouvre une copie de ton classeur, fais Alt+F11, clic ds VBA project (col de gauche, où il y a les modules, etc) sur feuil1(feuil1)
dans la feuille qui s'ouvre, fais ctrl+V
ENREGISTRE
donne un nom à tes 2 premières feuilles; dans la macro, remplace "Sheets(2)" par le nom de la feuille 2
ENREGISTRE ENCORE
Reviens à ton tableau en 1° feuille.
 
On considère que les 3 cell sont en A, B,C, et que quand elles sont remplies, on met "ok" en col D à la suite.  ('tention, pas "OK" !!!)
 
Et ça roule.
 
Merki ki?     :pt1cable:  
 
PS si tu es un garçon prudent, tu rajoutes une col pour le prénom, et tu prends par ex les 2 prem lettres que tu rajoutes après le nom et un espace, pr éviter une cagade dans les homonymes (et pis c'est un bon exercice...) :whistle: .
 
 
 


---------------
Olympus OM-D  EM-5 + 14-42
Reply

Marsh Posté le 06-12-2009 à 10:31:00    

Laoo, tu as l'air très avancé sur les macros et ton aide me serait utile car j'ai un cas urgent à traiter pour demain matin.
Mon cas est similaire à celui de gia avec quelques différences.
Ton aide me serait précieuse.

Reply

Marsh Posté le 06-12-2009 à 11:23:56    

Ben vas-y, mon grand, pose ta questionnette, on va voir ce qu'on peut faire, entre la messe et le rôti...
 
 moi, pis tous les autres qui faut pas oublier, monsieur Papou, qu'est un kador, et pis ceux qui sont là ce Dimanche.
 
Mais, bien clair, la questionnette, si tu veux qu'on comprenne.  
avec classeur, lien et tout, c'est encore mieux...

Reply

Marsh Posté le 06-12-2009 à 11:29:17    

J'avais pas vu que tu l'avais posée au-dessus. Je regarde ça, et j'espère le papé itou.

Reply

Marsh Posté le 06-12-2009 à 12:06:44    

Laoo a écrit :

J'avais pas vu que tu l'avais posée au-dessus. Je regarde ça, et j'espère le papé itou.


Papou sonne mieux à mon oreille.  
Mais un minimum de sens du respect devrait t'amener à m'appeler seniorpapou (le tout en minuscule), je t'en remercie.
 
 :hello:


Message édité par seniorpapou le 06-12-2009 à 13:04:17
Reply

Marsh Posté le 06-12-2009 à 14:24:22    


Salut, Le Dab, pardon pour "le Papé", j'ai pas voulu t'offenser.
 

Citation :

...Mais un minimum de sens du respect devrait t'amener à m'appeler seniorpapou (le tout en minuscule), je t'en remercie.


 
Impossible!
 
Que je te respecte, cela va sans dire, mais je ne sais pourquoi, ce genre de mot m'écorche un tantinet la glotte, ou la plume, voire le clavier, en l'occurrence. J'ai beaucoup de mal avec les diminutifs, je n'y arrive pas, c'est plus fort que moi! Figure-toi que même avec mon frère on s'appelle par notre nom de famille, ou alors "frelot", mais jamais "Machounet" ou "Trucounet". Never!
 
D'autant que senior et papou à la fois sonne un rien redondant! Bis repetita non placent, disait le poète.
 
so, j'ai bien l'honneur, Monsieur vot' sérénité.
 


---------------
Olympus OM-D  EM-5 + 14-42
Reply

Marsh Posté le 06-12-2009 à 21:43:44    

Bonsoir,
pour revenir au post de gia17:
il manque juste une sécurité pour éviter que le nom de la feuille dépasse 31 carac.  et une sécurité pour éviter les caractères interdits.
 
Je me souviens avoir eu des PB avec les apostrophes ou les espaces , qui sont autorisés. Si je retrouve, je communique. Par ailleurs j'avais récupérer une séquence de classement des feuilles individuelles par ordre alphabétique. Pareil: si je retrouve...
 
Cordialement

Reply

Marsh Posté le 07-12-2009 à 10:41:53    

seniorpapou a écrit :

Bonsoir,
pour revenir au post de gia17:
il manque juste une sécurité pour éviter que le nom de la feuille dépasse 31 carac.  et une sécurité pour éviter les caractères interdits.
 


Euuh, tu as certainement raison, du moins dans l'absolu, mais, sans vouloir aucunement te contredire, il s'agit de noms de famille, alors, plus de 31 caractères, dont certains interdits, c'est quand même rare, par chez nous, non?     :whistle:  
 
 

Citation :


 Par ailleurs j'avais récupérer une séquence de classement des feuilles individuelles par ordre alphabétique. Pareil: si je retrouve...


 
Ca, ça doit être très intéressant, et notamment ici, pour trier ses feuilles de conducteurs...   Même s'il me semble qu'une feuille entière pour UN gus, c'est ptet beaucoup, mais bon...
 
Cordialement  


---------------
Olympus OM-D  EM-5 + 14-42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed