Bonjour à tous,
SVP j'ai besoin de votre aide en VBA !Je suis débutante .
Voici mon problème, j'ai 2 onglets (feuil1 et feuil2). Feuil1 est composée de 3 colonnes (A,B,C) et Feuil2 est composée de 2 colonnes(A,B)
J'aimerais mettre en rouge la cellule de la colonne A "ID" (feuil1) Si [ pour chaque valeur de la colonne C "Link" de feuil1 , il y'a pas son équivalent dans la Colonne A de feuil2 (tout en parcourant toutes les cellules de la colonne A "ID" (feuil2 )) ] OU Si [la cellule de la colonne C de feuil1 est vide]
NB: en sachant que certaines cellules de la colonne C "Link" de feuil1 contiennent plusieurs valeurs (chaines de caractères)
Voici mon code :
Sub Analyser()
Dim i As Integer
For i = 2 To 18
If Cells(i, 3) = "" Then
Cells(i, 1).Interior.Color = RGB(255, 128, 128)
ElseIf Len(Cells(i, 3)) = 11 And IsError(Application.VLookup((Mid(Range("C" & i).Value, 1, 11)), Sheets("Feuil2").Range("A2:A22"), 1, False)) Then
Cells(i, 1).Interior.Color = RGB(255, 128, 128)
ElseIf Len(Cells(i, 5)) > 11 And IsError(Application.VLookup((Mid(Range("C" & i).Value, 27, 11)), Sheets("Feuil2").Range("A2:A22"), 1, False)) Then
Cells(i, 1).Interior.Color = RGB(255, 128, 128)
Else
Cells(i, 1).Interior.Color = RGB(255, 255, 255)
End If
Next
End Sub
PS: Mon code recherche seulement les 2 premières chaines de caractères, Or certaines cellules contiennent 4 chaines de caractères voire même 10. ça varie. J'aimerais créer une boucle qui permet de parcourir toutes les chaines de caractères d'une cellule avant d'aller au suivant.
J'ai beau tenté les différentes code sur le forum mais je n'y arrive pas.
Merci d'avance pour le coup de main!
SVP j'ai besoin de votre aide en VBA !Je suis débutante .
Voici mon problème, j'ai 2 onglets (feuil1 et feuil2). Feuil1 est composée de 3 colonnes (A,B,C) et Feuil2 est composée de 2 colonnes(A,B)
J'aimerais mettre en rouge la cellule de la colonne A "ID" (feuil1) Si [ pour chaque valeur de la colonne C "Link" de feuil1 , il y'a pas son équivalent dans la Colonne A de feuil2 (tout en parcourant toutes les cellules de la colonne A "ID" (feuil2 )) ] OU Si [la cellule de la colonne C de feuil1 est vide]
NB: en sachant que certaines cellules de la colonne C "Link" de feuil1 contiennent plusieurs valeurs (chaines de caractères)
Voici mon code :
Sub Analyser()
Dim i As Integer
For i = 2 To 18
If Cells(i, 3) = "" Then
Cells(i, 1).Interior.Color = RGB(255, 128, 128)
ElseIf Len(Cells(i, 3)) = 11 And IsError(Application.VLookup((Mid(Range("C" & i).Value, 1, 11)), Sheets("Feuil2").Range("A2:A22"), 1, False)) Then
Cells(i, 1).Interior.Color = RGB(255, 128, 128)
ElseIf Len(Cells(i, 5)) > 11 And IsError(Application.VLookup((Mid(Range("C" & i).Value, 27, 11)), Sheets("Feuil2").Range("A2:A22"), 1, False)) Then
Cells(i, 1).Interior.Color = RGB(255, 128, 128)
Else
Cells(i, 1).Interior.Color = RGB(255, 255, 255)
End If
Next
End Sub
PS: Mon code recherche seulement les 2 premières chaines de caractères, Or certaines cellules contiennent 4 chaines de caractères voire même 10. ça varie. J'aimerais créer une boucle qui permet de parcourir toutes les chaines de caractères d'une cellule avant d'aller au suivant.
J'ai beau tenté les différentes code sur le forum mais je n'y arrive pas.
Merci d'avance pour le coup de main!