Bonjour à tous,
A partir d'excel, je dois réaliser une macro qui permet à partir d'une feuille excel, de copier les lignes
avec une condition et de les coller dans une autre feuille.
Exemple : je récupère à partir d'un logiciel le chiffre d'affaire réalisé par le personnel de l'entreprise sur chacun de leurs clients. Les données sont déjà triées et réogranisées par le nom de chaque personne de cette entreprise. On me demande de copier les lignes correspondant à chaque personne et de les coller dans des feuilles différentes. Il y a 16 personnes. je dois donc effectuer 16 conditions en prenant comme variable le nom de la personne.
J'ai crée une macro dont voici le code :
Sub Macro1()
' Macro1 Macro
' Macro enregistrée le 05/09/2006 par
'
Dim collaborateur As String
collaborateur = BLANC
For i = 2 To 40
If Cells([i], [1]) = collaborateur Then
Worksheets("Export CCMX" ).Range("B" & i & ":E" & i).Copy
Worksheets("BLANC" ).Range("A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Else
Worksheets("Export CCMX" ).Range("B" & i & ":E" & i).Copy
Worksheets("CARBONNEL" ).Range("A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
Next i
End Sub
Cette macro me permet de copier et coller les lignes dans une feuille différente mais je rencontre trois problèmes :
1) je n'arrive pas à utiliser correctement "collaborateur". En effet, il ne prend pas en compte ma condition BLANC et donc il me copie toujours mes données dans l'autre feuille.
2) y a t-il une possibilité de faire plus simple car je dois répéter cette opération 16 fois (pour les 16 collaborateurs)
3) comment faire quand le nombre de lignes diffèrent d'une extraction à une autre. Dans ma macro, c'est moi qui indique le nombre de ligne pour la boucle.
Merci à tous