Renvoi d'une valeur après une comparaison

Fermé
NateBarca Messages postés 25 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 novembre 2017 - Modifié par NateBarca le 9/06/2016 à 16:51
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 10 juin 2016 à 10:59
Bonjour,

Je souhaite comparer deux calques (calquea et calqueb) et lorsque la condition est vérifiée cela implique le renvoi de la cellule vers une autre cellule.

Aucun résultat n'est observé pourtant certaines conditions sont vérifiées, pour quelle raison ?


Merci par avance pour votre aide.


*


Le code écrit est le suivant :


Dim Lig As Integer

Set Calquea = Worksheets("XX") 
Set Calqueb = Worksheets("YY") 

prlign = 4 
drlign = 2380 

For Lig = prlign To drlign 
If Calqueb.Cells(Lig, 3).Value = Calquea.Cells(Lig, 13).Value Then 
Calquea.Cells(Lig, 92).Value = Calqueb.Cells(Lig, 3).Value 

End If 
Next Lig 

End Sub

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 10/06/2016 à 08:20
Bonjour,

je viens d'essayer: ta macro marche...

peut-être nous as tu mal exprimé ce que tu souhaitais (peut les "trous" dans la colonne 92 si valeurs différentes?)

au passage: ne pas omettre ceci
Option Explicit
Sub ccccc()
Dim Lig As Integer, Prlign As Byte, Drlign As Integer
Dim Calquea As Worksheet, Calqueb As Worksheet

Application.ScreenUpdating = False


 Michel
0
NateBarca Messages postés 25 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 novembre 2017
10 juin 2016 à 09:13
Bonjour,

Merci pour votre réponse.
J'ai trouvé l'erreur, elle fonctionne si l'on défini 2 boucles "for" une par calque.

For Lig = prlign To drlign
For LigSout = prlignSout To drlignSout
If X.Cells(Lig, 13).Value = XXX.Cells(LigSout, 2).Value Then
...
End If
Next LigSout
Next Lig


'
End Sub
0
NateBarca Messages postés 25 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 30 novembre 2017
10 juin 2016 à 09:21
J'en profite pour vous demander,

Si je souhaite en sortie X.Cells(Lig, 92).Value = XXX.Cells(Lig, 3).Value et je souhaite conserver la mise en forme (barré, rouge...) de la cellule à copier. Que dois je modifier ou ajouter?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
10 juin 2016 à 10:59
Le +simple à mon avis serait de mettre, hors macro, une Mise en forme conditionnelle
sur la plage en colonne 92 reproduisant les conditions de mise en coleuur
0