Comparer les valeurs de deux colonnes en vba
Résolu
Kasiope_33
Messages postés
5
Statut
Membre
-
Kasiope_33 Messages postés 5 Statut Membre -
Kasiope_33 Messages postés 5 Statut Membre -
Bonjour,
à partir d'une boucle for next sur une colonne dans la feuille1 je cherche à trouver si cette valeur n'est pas dans une autre colonne dans la feuille2 avec une autre boucle for next. si effectivement cette valeur n'est pas dans la colonne de la feuille2 je cherche à copier cette valeur dans une colonne feuille3. si vous pouvez m'aider un grand merci à tous
à partir d'une boucle for next sur une colonne dans la feuille1 je cherche à trouver si cette valeur n'est pas dans une autre colonne dans la feuille2 avec une autre boucle for next. si effectivement cette valeur n'est pas dans la colonne de la feuille2 je cherche à copier cette valeur dans une colonne feuille3. si vous pouvez m'aider un grand merci à tous
A voir également:
- Comparer les valeurs de deux colonnes en vba
- Comment faire deux colonnes sur word - Guide
- Inverser deux colonnes excel - Guide
- Nombre de jours entre deux dates excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Deux ecran pc - Guide
8 réponses
bonjour
pour eviter les boucle multiples, on va melanger tout ca
à adapter (nom de feuille, plages de cellules)
pour eviter les boucle multiples, on va melanger tout ca
à adapter (nom de feuille, plages de cellules)
sub ctrl_et_copie()
dim i as long
for i = 1 to sheets("Feuil1").range("A65536").end(xlup)
if application.worksheetFunction.countif(Sheets("Feuil2").range("A:A"), sheets("Feuil1").range("A" & i))>0 then
sheets("Feuil3").range("A65536").end(xlup).offset(1,0) = sheets("Feuil1").range("A" & i)
end if
next i
end sub
Je vous remercie vivement l'interet que vous portez à ma question, seulement votre réponse n'a pas réussit à me donner une solution. Mais je fouille quand meme dans la direction que vous me donnez.
Je vais vous donner le code que je comptais utiliser( enfin la base du code) .seulement il ne fonctionne pas
Sub Agent_sortant()
For c = 3 To 308
'-------------Prendre un agent x dans la liste de la feuille réafectation septembre------------------
Sheets("Réaffectation_septembre_2008").Select
idendifiant_Agent_Orchi = Range("C" & c & "").Value
Nom_Agent_Orchi = Range("D" & c & "").Value
Prenom_Agent_Orchi = Range("E" & c & "").Value
'--------------- si l'agent l'agent x n'est pas dans feuille réafectation octobre-------
'--------------- copier l'agent x dans la feuille Personnel sortant----------
Sheets("Réaffectation_octobre_2008").Select
For e = 3 To 308
If Range("C" & e & "").Value <> idendifiant_Agent_Orchi And Range("D" & e & "").Value <> Nom_Agent_Orchi Then
Sheets("Personnels_sortants").Select
Dim maligne As String
For L = 2 To 1000
If Range("c" & L & "").Value <> "" Then
maligne = L
maligne = maligne + 1
End If
Next
Range("C" & maligne & "").Value = idendifiant_Agent_Orchi
Range("D" & maligne & "").Value = Nom_Agent_Orchi
Range("E" & maligne & "").Value = Prenom_Agent_Orchi
End If
Next
Next
MsgBox "Terminé"
End Sub
SEULEMENT LA BOUCLE FOR e NEXT S'ARRETE D7S LA PREMIERE LIGNE DE RECHERCHE ET NE BALAYE PAS LES 308 LIGNES DE MA COLONNE DANS LA FEUILLE Réaffectation_octobre_2008
Encor merci de votre attention et d'avance je vous remercie de votre aide
Je vais vous donner le code que je comptais utiliser( enfin la base du code) .seulement il ne fonctionne pas
Sub Agent_sortant()
For c = 3 To 308
'-------------Prendre un agent x dans la liste de la feuille réafectation septembre------------------
Sheets("Réaffectation_septembre_2008").Select
idendifiant_Agent_Orchi = Range("C" & c & "").Value
Nom_Agent_Orchi = Range("D" & c & "").Value
Prenom_Agent_Orchi = Range("E" & c & "").Value
'--------------- si l'agent l'agent x n'est pas dans feuille réafectation octobre-------
'--------------- copier l'agent x dans la feuille Personnel sortant----------
Sheets("Réaffectation_octobre_2008").Select
For e = 3 To 308
If Range("C" & e & "").Value <> idendifiant_Agent_Orchi And Range("D" & e & "").Value <> Nom_Agent_Orchi Then
Sheets("Personnels_sortants").Select
Dim maligne As String
For L = 2 To 1000
If Range("c" & L & "").Value <> "" Then
maligne = L
maligne = maligne + 1
End If
Next
Range("C" & maligne & "").Value = idendifiant_Agent_Orchi
Range("D" & maligne & "").Value = Nom_Agent_Orchi
Range("E" & maligne & "").Value = Prenom_Agent_Orchi
End If
Next
Next
MsgBox "Terminé"
End Sub
SEULEMENT LA BOUCLE FOR e NEXT S'ARRETE D7S LA PREMIERE LIGNE DE RECHERCHE ET NE BALAYE PAS LES 308 LIGNES DE MA COLONNE DANS LA FEUILLE Réaffectation_octobre_2008
Encor merci de votre attention et d'avance je vous remercie de votre aide
re:
une tite question, l'identifiant agent est unique par agent ? si oui pourquoi tester le nom ???
@ te lire
une tite question, l'identifiant agent est unique par agent ? si oui pourquoi tester le nom ???
@ te lire
Bonjour
oui l'identifiant est unique bonne remarque mais au départ j'avais fais avec le nom, mais bien sur si on tombe sur "Dupont" donc j'avais rajouté l'identifiant
merci et vois tu assez clairement qu'elle est ma recharche
oui l'identifiant est unique bonne remarque mais au départ j'avais fais avec le nom, mais bien sur si on tombe sur "Dupont" donc j'avais rajouté l'identifiant
merci et vois tu assez clairement qu'elle est ma recharche
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re:
pas sur d'avoir compris lol
Comme tu n'as pas founi un fichier exemple, je n'ai pas pu testé la macro
mais à premiere vue, elle a l'aire correcte
pas sur d'avoir compris lol
Sub Agent_sortant()
dim w1 as worksheet, w2 as worksheet, w3 as worksheet
dim i as long
set w1 = Sheets("Réaffectation_septembre_2008")
set w2 = Sheets("Réaffectation_octobre_2008")
set w3 = Sheets("Personnels_sortants")
for i = 3 to w1.range("C65536").end(xlup).row ' faire toute la colonne C
if application.worksheetfunction.countif(w2.range("C:C"), w1.range("C" & i)) = 0 then
w1.range("C" & i & ":E" & i).copy destination:=W3.range("C65536").end(xlup).offset(1,0)
End If
Next
MsgBox "Terminé"
End Sub
Comme tu n'as pas founi un fichier exemple, je n'ai pas pu testé la macro
mais à premiere vue, elle a l'aire correcte
Bonjour je te remercie vivement
Ta macro marche à merveille et en plus cerise sur le gateau elle est vraiment très rapide.
maintenant je vais essayer de l'adapter pour que ça me copie la ligne entière
je te donne mon mail perso si tu souhaite correspondre davantage: christian.lassep@numericable.fr
encore Merci
Ta macro marche à merveille et en plus cerise sur le gateau elle est vraiment très rapide.
maintenant je vais essayer de l'adapter pour que ça me copie la ligne entière
je te donne mon mail perso si tu souhaite correspondre davantage: christian.lassep@numericable.fr
encore Merci
bonjour
pour une ligne complete :
Modif en gras pour copie de ligne complete
pour une ligne complete :
for i = 3 to w1.range("C65536").end(xlup).row ' faire toute la colonne C
if application.worksheetfunction.countif(w2.range("C:C"), w1.range("C" & i)) = 0 then
w1.range("A" & i ).entireRow.copy destination:=W3.range("C65536").end(xlup).offset(1,-2)
End If
Next
Modif en gras pour copie de ligne complete