Prich
Messages postés29Date d'inscriptionvendredi 16 mai 2008StatutMembreDernière intervention31 août 2009
-
9 févr. 2009 à 09:57
Prich
Messages postés29Date d'inscriptionvendredi 16 mai 2008StatutMembreDernière intervention31 août 2009
-
9 févr. 2009 à 11:11
Bonjour;
Étant débutant en VBA et programmation en général, comment fait on pour comparer deux colonnes Excel et inscrire le résultat de la comparaison dans une troisième. Je ne connais pas le nombre de cellules dans les colonnes. Le mieux est que le programme détecte la première cellule vide et s'arrête, avec auparavant une suppression de toutes les cellulles vides de chaque colonne.
hebus16
Messages postés80Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 2 octobre 20091 9 févr. 2009 à 10:54
ok donc dans ce cas là c'est assez simple :
For i = 1 to F_L_DerniereLigne()
If ThisWorkbook.ActiveSheet.Cells(i,"A").value = _
ThisWorkbook.ActiveSheet.Cells(i,"B").value then
ThisWorkbook.ActiveSheet.Cells(i,"C").value = "Pareil"
Else
ThisWorkbook.ActiveSheet.Cells(i,"B").value = "different"
End if
Next i
Apres il te reste à voir les autres petits trucs ... mais n'hesite pas à regarder dans le forum et les tutoriaux si il existe pas déjà des explications du genre
hebus16
Messages postés80Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 2 octobre 20091 9 févr. 2009 à 10:15
Salut
pour la comparaison de deux colonnes faudra être plus précis ^^ en effet qu'est ce que tu veux comparer ? la valeur des cellules une à une ? le nombre de cellules remplies ?? ou autres ^^
pour calculer la dernière ligne voilà une petite fonction qui devrait t'aider
Public Function F_L_DerniereLigne(Sh As Worksheet) As Long
' on initialise la fonction à 0
F_L_DerniereLigne = 0
' on signale au prog que si O_GestionErreur alors passez à la suite
On Error Resume Next
' calcul de la ligne si possible
F_L_DerniereLigne = Sh.Cells.Find(What:="*", _
after:=Sh.Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
End Function
Cette fonction te permet de détecter la dernière ligne d'une feuille, suffit de l'adapter pour que cela se porte sur ta colonne ^^