Comparer les cellules d'une plage aux cellule

Fermé
Geant vert - 26 août 2010 à 10:52
 geant vert - 30 août 2010 à 07:54
Bonjour,

j'utilise actuellement dans une macro vba la formule suivante qui me permet de comparer les cellules d'une plage donnée à une cellule et de mettre une valeur dans la case voisine si la valeur des cellules comparées est identique.

For Each c In Worksheets("Feuil2").Range("B10:B50")
If c.Value = Worksheets("Feuil1").Range("B10").Value Then
c.Offset(0, 1).Value = "1"
End If
Next

Ce que je souhaiterai faire c'est comparer les cellules non pas à une seule cellule mais à toutes les cellules d'une plage donnée, par exemple range("B10:B50").

J'ai donc essayé cette solution et j'ai une erreur d'execution '13' incompatibilité de type.

Merci d'avance pour votre aide

4 réponses

f894009 Messages postés 16905 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mars 2023 1 680
29 août 2010 à 21:17
Bonjour,

For Each c In Worksheets("Feuil2").Range("B10:B50")
For x = 10 To 50
If Worksheets("Feuil1").Range("B" & x).Value <> "" Then
If c.Value = Worksheets("Feuil1").Range("B" & x).Value Then
c.Offset(0, 1).Value = "1"
End If
End If
Next x
Next

a essayer.

Bonne continuation.
0
merci de cette réponse.

je test et je vous dis si ça fonctionne.
0
cousinhub29 Messages postés 643 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 24 mars 2023 325
30 août 2010 à 07:53
Bonjour,

une autre solution :

Sub cherche()
Dim PlgSource As Range, PlgRech As Range, Cel As Range, C As Range
Set PlgSource = Sheets("Feuil2").Range("B10:B50")
Set PlgRech = Sheets("Feuil1").Range("B10:B50")
For Each Cel In PlgSource
    If Cel <> "" Then
        Set C = PlgRech.Find(Cel)
        If Not C Is Nothing Then Cel.Offset(, 1) = 1
    End If
Next Cel
End Sub


Bonne journée
0
salut à tous

j'ai testé et ça marche exactement comme je le souhaitais.

Merci pour cette aide.
0