Création macro VBA - Problème tordu - VB/VBA/VBS - Programmation
Marsh Posté le 11-04-2009 à 18:43:09
Bonsoir,
vite fait pour créer les feuilles
après, tu cherches un peu pour copier les lignes .
Sub Macro1()
'
' Macro1 Macro
'
'
For lig = 1 To 65000
If Sheets("feuil1" ).Cells(lig, 1) = "" Then Exit Sub
lenom = Sheets("feuil1" ).Cells(lig, 1)
yapas = True
For Each sh In ThisWorkbook.Sheets
If sh.Name = lenom Then
yapas = False
Exit For
End If
Next
If yapas Then
Sheets("Feuil2" ).Select 'ou une autre
Sheets.Add
ActiveSheet.Name = lenom
End If
'..copier la ligne après la dernière ligne
Next
End Sub
Cordialement
En espèrant que cela fonctionne
Marsh Posté le 11-04-2009 à 18:52:43
Salut,
|
On pourra incorporer une routine de vérification de la validité du nom des feuilles
|
et pourquoi pas une routine de tri très sommaire
|
Marsh Posté le 11-04-2009 à 16:33:28
Bonjour,
Je cherche en vain à faire une macro répondant à cet objectif :
Je veux créer autant de feuilles qu'il y a de valeur différente dans une même colonne et que pour chacune de ces valeurs de la colonne la ligne correspondante soit copiée/collée dans la feuille correspondante. (C'est clair )
Par exemple :
J'ai une feuille appelée "BDD" Excel avec 6 valeurs en colonne A :
Toto
Papa
Maman
Toto
Toto
Maman
Avant tout, je les "sort" par la colonne A (ça c'est dans mes cordes)
1) je souhaite que la macro fasse une feuille pour chaque valeurs différentes de la colonne A
En gros j'ai ma feuille "BDD", ma feuille "Toto", ma feuille "Papa" et ma feuille "Maman"
(1bis La macro nomme les feuilles avec le nom de la valeur)
J'ai tenté un :
for each value in columns("A" )
Add.sheets
Mais sans succès, ça me créé une feuille et une seule
2) La macro copie/colle chaque ligne de la BDD dans le bon onglet
Dans la feuille Toto, on a donc 3 lignes (Car y a 3 toto dans la colonne A de la feuille BDD)
Dans la feuille Papa, on a donc 2 lignes (Car y a 2 Papa dans la colonne A de la feuille BDD)
Dans la feuille Maman, on a donc 1 ligne (Car y a 1 maman dans la colonne A de la feuille BDD)
J'ai tenté une boucle en comparant la value de la colonne mais sans succès
3) La BDD ne doit pas bouger (Sinon je suis viré )
Merci pour votre aide
Désolé d'être nul en VBA
Message édité par greystick le 11-04-2009 à 16:34:33
---------------
Bière qui roule, bière qui mousse