copier/coller des lignes sous excel avec condition - VB/VBA/VBS - Programmation
Marsh Posté le 05-09-2006 à 14:48:45
Bonjour,
c'est une tâche à faire souvent?
par quelqu'un qui manipule bien Excel?
Un filtre automatique sur les éléments de la colonne 1 et un copier coller manuel ne suffiraient pas?
Cordialement
Marsh Posté le 05-09-2006 à 15:40:45
je fais pas de VBA avec Excel mais ce "BLANC" me paraît bizarre
je suis habitué au Null d'Access
une solution de contournement consiste à travailler sur la longueur de la chaîne (longueur = 0 indique une chaine vide)
EDIT : lapsus
Marsh Posté le 06-09-2006 à 09:46:25
Bonjour,
C'est une tâche à réaliser une fois par mois.
J'ai réussi à trouver mon pb de sélection par le nom du collaborateur (BLANC, CARBONNEL...)
En fait, la sélection ne se faisait pas car je partait de Cells(i,1) et no de Range (A, i).
Avec Range, je peux facilement copier les lignes qui ont comme conditions le nom du collaborateur afin de les
coller dans une feuille qui lui est destinée.
Un simple filtre automatique ne lui suffit pas. il veut cliquer sur un bouton et avoir le résultat san rien faire.
Merci
Marsh Posté le 06-09-2006 à 10:08:37
Bonjour,
ah, ces utilisateurs!!!!
Est-ce que l'on considère ton pb comme resolu?
Cordialement
Marsh Posté le 13-02-2007 à 10:11:11
ah ok BLANC était le nom du type !!!
La prochaine fois utilise DUPONT plutôt
Marsh Posté le 05-09-2006 à 13:51:37
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