VBA : Vérifier la valeur d'une cellule

Fermé
Melycea - 5 mai 2011 à 15:20
walidx123 Messages postés 4 Date d'inscription jeudi 15 mai 2014 Statut Membre Dernière intervention 7 mars 2016 - 22 févr. 2016 à 00:46
Bonjour à tous,

J'ai déjà fais de la programmation mais c'est ma première en VBA et je suis complètement perdue, je ne sais pas du tout par où commencer...

Donc j'expose ma situation: j'ai une feuille excel qui contient 2 colonnes A et B que je remplit au fur et à mesure à la main. Et j'ai une autre feuille (dans un autre classeur) qui contient les mêmes colonnes A et B. Cette deuxième feuille est une "référence" puisqu'elle donne tous les couples A/B possibles.

Donc je voudrai créer une macro qui vérifie qu'à chaque fois que je rentre une valeur de B dans la première feuille, elle corresponde bien à un couple existant dans la feuille2; sinon, qu'il y ait un message d'erreur.

Est-ce que quelqu'un se sent prêt à m'aider?!
Je reste à disposition pour plus de précision.
Merci d'avance



7 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 310
Modifié par michel_m le 6/05/2011 à 10:43
continue sur ta lancée, tu vas y arriver.

1/tu voulais un message, je t'en ai mis un mais toi tu mets en couleur (si préférence pense que la couleur va rester après modification...donc à gérer dans la macro)

2/ j'ai une feuille excel qui contient 2 colonnes A et B que je remplit au fur et à mesure à la main... ...qu'à chaque fois que je rentre une valeur de B dans la première feuille
là apparemment tu fais une vérification globale et non au fur et à mesure

3/.Range(1, i)
mauvaise syntaxe: soit cells(i,1) ou cells(i,"A") ou Range("A" & i)

4/ elle corresponde bien à un couple existant dans la feuille2
dans ce que j'ai proposé il faut que le couple dans le fichier1(A&B) corresponde à un couple dans le fichier2(A&B) pas forcément sur la m^me ligne

5/ tu n'as jamais parlé de la cellule F3

fais des essais, Bon courage, je repasse tout à l'heure (un truc à faire) avec ma macro commentée

Michel
1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
5 mai 2011 à 16:57
Bonjour

petite maquette à adapter à tes conditions (les 2 classeurs doivent être ouverts)

https://www.cjoint.com/?3Efq7iRFoN
0
Merci pour ta réponse.
J'ai fait quelques tests sur tes fichiers mais je pense pas que ça marche.
Et, est-ce que tu pourrais mettre des commentaires dans ta macro pour que j'essaie de comprendre?!

De mon côté, j'ai tenté quelque chose qui ne marche évidement pas mais qui peut peut être être améliorer (ou complètement revu^^) :

Option Explicit

Sub Verification()

    Dim i As Variant
    i = 2
    
    While ((Workbooks("DataBase").Sheets(1).Range(1, i).Value) <> Range("F3").Value)
        i = i + 1
    Wend
    
    If (Range("B3").Value <> Workbooks("DataBase").Sheets(1).Range(2, i)) Then
        Range("B3").Interior.Color = vbRed
    End If        
        
End Sub


Merci
0
Merci pour tous tes petits commentaires.

1-J'ai fait une coloration tout simplement parce que je connaissais pas la syntaxe pour écrire un message (et oui, je débute vraiment!) mais effectivement, ça ne paraissais pas vraiment judicieux.

2-J'ai oublié de précisé que "mon début de macro" ne s'applique qu'à la ligne 3. Après il faudrait que je mette tout ça dans une boucle pour que ça vérifie toute la feuille (mais j'en suis encore loin...). Enfin, si j'ai bien compris ton commentaire.

3- autant pour moi! Mais tant que j'ai pas d'erreur qui s'affiche je pensais que c'était bon ^^

4- tu as très bien compris le problème. Les couples A&B ne seront surement pas sur les mêmes lignes dans les deux fichiers.

5- il n'y a pas de feuille 3! Si tu parles des B3 et F3 ceux sont les noms des cellules mais une fois de plus, je l'ai écrit comme je le sentais et je n'ai pas eu d'erreurs donc je me suis pas inquiétée. D'ailleurs, d'après les explications que j'ai données c'est plutôt A3 et B3. Désolée


Puisque je suis une totale débutante, je pense que je peux poser des questions bêtes(voire très bêtes) : ça fait référence à quoi "target" ???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 6/05/2011 à 11:40
Il n'y a pas de questions bêtes même très bêtes... :o)
ci joint macro commentée
il y avait un bug suite à un oubli de sauvegarde habituel (j'vieillis mal)
https://www.cjoint.com/?0EglKZwjRb5

Target : cellule active
Michel
0
euh... es tu sur des fichiers que t'as envoyés?!
Si oui, quel est le rapport entre les couleurs et zeze?! Et sur quelle feuille se trouve la macro?!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
6 mai 2011 à 12:05
eh non

Voici les bons!!!
https://www.cjoint.com/?0EgmdGuAWkB
sur quelle feuille se trouve la macro?!
regarde dans le classeur: j'avais fait des captures d'écran pour l'indiquer !
0
Merci beaucoup pour les commentaires!
Je pense avoir presque tout compris. Juste pour être sûre, dico est donc un genre de liste où il y a tous les couples A/B concaténés?!

Sinon, surement une erreur de débutant : j'ai adapter la macro à mon fichier mais je n'arrive pas à la lancer (quand je clique sur "exécuter la macro", il m'ouvre une fenêtre pour en créer une nouvelle...).
Je dois faire comment?!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
6 mai 2011 à 14:37
il faut que ta macro soit dans le module feuille concerné
lancement:
non, tu ne peux pas car c'est une macro événementielle: il faut qu'une donnée soit changée dans la colonne B

pour suivre en pas à pas, tu cliques dans le bandeau beige a gauche de l'éditeur VBE à hauteur du 1° if
tu changes une donnée dans la feuille et dans l'éditeur tu appuies sur F8 pour parcorir en pas à pas

pour voir l'état des variables (dico par ex): débogage-ajouter un espion
0
euh...pas de bandeau beige...peut être que je dois préciser que je suis sous Excel 2007
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
6 mai 2011 à 15:06
Mais c'est pas vrai !!!
:-(
https://www.cjoint.com/?0EgpfQhGh5x
0
bon b je sais pas si j'ai raté une grosse étape ou quoi mais le F8 ne provoque rien...
Pourtant j'ai bien rentré une nouvelle valeur dans B (une fausse évidemment), et j'ai fait le clic dans la marge à hauteur de premier "if" puis F8 mais rien ne se passe...
0
walidx123 Messages postés 4 Date d'inscription jeudi 15 mai 2014 Statut Membre Dernière intervention 7 mars 2016
22 févr. 2016 à 00:46
bonjour
je veux sélectionner par exemple la colonne A sauf A1 comment je peut le faire ???
et merci d'avance
0