Récupérer les valeurs des cellules dans une condition

Bonjour,

Je suis stoppé dans mon développement par une petite partie de mon code.

Je cherche à comparer chaque valeur des cellules de deux "range" et si la condition est remplie effectuer une série d'actions.

Le problème est que les cellules en question contiennent des formules différentes et je pense que VBA récupère les formules plutôt que la valeur des cellules. La condition n'est donc jamais remplie.

Sub Macroycy()
tablo1 = Range("I12:M12")
tablo2 = Range("O3:AS3")
For Each cel In tablo1
    For Each Cell In tablo2
        If cel = Cell Then
            MsgBox OUI
            Range(cel).Offset(2, 0).Activate
            Application.ActiveCell.Resize(16, 1).Activate
            Application.Selection.Copy
            Range(Cell).Offset(1, 0).Activate
            Range(Selection, Selection.End(xlDown)).Select
            Selection.Copy
            Range(Cell).Offset(1, 0).Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        End If
    Next
Next
End Sub

Les deux "tablo" contiennent des cellules au format date. Dans un cas, la date est obtenue par concaténation et dans l'autre par calcul.

Comment récupérer les valeurs de cel et Cell pour pouvoir les comparer ?

Merci d'avance

Bonjour,

Ce sont bien les valeurs qui sont récupérées. Cependant, la concaténation renvoie du texte fort probablement.

Soit vous modifiez légèrement les formules de concaténation en rajoutant un * 1 pour obtenir une date (à privilégier), soit vous le faites dans le code.

A noter qu'une fois les conditions remplies, votre code produira une erreur 1004 à la ligne range(cel) vu que cel contient une date.

Je pense que votre code est à refaire en entier...

Cdlt,

Rechercher des sujets similaires à "recuperer valeurs condition"