Aide macro

Résolu/Fermé
Ecrelinf Messages postés 36 Date d'inscription mercredi 12 mars 2014 Statut Membre Dernière intervention 26 février 2015 - 21 mars 2014 à 11:53
Ecrelinf Messages postés 36 Date d'inscription mercredi 12 mars 2014 Statut Membre Dernière intervention 26 février 2015 - 24 mars 2014 à 09:49
Bonjour à tous,

Je travaille sur deux feuilles d'un même classeur.
Voilà ce que je voudrais faire :
Si la valeur en B de la feuille 1 est égale à la valeur en A de la feuille 2 ET que la valeur en G de la feuille 2 est égale à 1 alors écrire "Ok" dans la colonne AC de la feuille 1.

Il y a deux difficultés à ajouter à ça :
- Les valeurs en B de la feuille 1 et celles en A de la feuille 2 ne sont pas rangées dans le même ordre.
- Les valeurs en B de la feuille 1 sont présentes une fois dans la colonne alors que dans la colonne A de la feuille 2, on les retrouve plusieurs fois.

J'ai fait ce programme là :

Dim lignef1 As Long       'la variable "ligne" de la feuille1
Dim lignef2 As Long 'la variable "ligne" de la feuille2
lignef2 = 2

With Worksheets("Feuille1")
For lignef1 = 2 To j 'j est le nombre de ligne de mon tableau de la feuille1
If Worksheets("Feuille1").Range("B" & lignef1).Value = Worksheets("feuille2").Range("A" & lignef2).Value And Worksheets("Feuille2").Range("G" & lignef2).Value = "1" Then
Worksheets("feuille1").Range("AC" & lignef1).Value = "Ok"
lignef2 = lignef2 + 1
End If
Next lignef1
End With

Lorsque j'exécute, il ne se passe rien, pas de message d'erreur, mon classeur ne semble pas modifié, RIEN. :(

Donc si quelqu'un a une idée, je vous remercie d'avance du temps que vous voudrez bien me consacrer (sachant que je suis encore débutant ^^)

Bonne journée et bon week end !

Ecrelinf

A voir également:

3 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
21 mars 2014 à 12:03
Bonjour Ecrelinf,

Il faut imbriquer les deux boucles For (une pour les lignes de la feuille 1, l'autre pour les lignes de la feuille 2)... ou utiliser une formule dans la feuille 1... ou utiliser une macro utilisant une fonction avec WorksheetFunction....

A+
1
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
21 mars 2014 à 11:59
Salut,

Puis-je me permettre de jeter un oeil sur ton fichier ?

Peux tu y supprimer des données nominatives ou confidentielles s'il y a, l'héberger sur cjoint et me poster le lien en réponse à ce message ?

Merci d'avance.
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
21 mars 2014 à 12:07
Bonjour sipherion,

Si le If n'est jamais validé, lignef2 ne bougera pas.
@Ecrelinf, le With... ne sert à rien (cf. ma réponse à ta question l'autre jour) dans ton code.

A+
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
21 mars 2014 à 12:24
Oui je sais bien, c'est pour ca que j'ai demandé le fichier, pour tester la vérification ;-)
0
Ecrelinf Messages postés 36 Date d'inscription mercredi 12 mars 2014 Statut Membre Dernière intervention 26 février 2015
24 mars 2014 à 09:49
Bonjour à tous !

J'ai donc essayé d'imbriquer les deux boucles for et ça a l'air de marcher à merveilles ! :D Merci Zoul ;)

Bonne semaine à tous !
0