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 SubLes 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,