VBA : Vérifier la valeur d'une cellule
Melycea
-
walidx123 Messages postés 4 Statut Membre -
walidx123 Messages postés 4 Statut Membre -
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
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
A voir également:
- VBA : Vérifier la valeur d'une cellule
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Find vba - Astuces et Solutions
- Vba range avec variable ✓ - Forum VB / VBA
7 réponses
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/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
Bonjour
petite maquette à adapter à tes conditions (les 2 classeurs doivent être ouverts)
https://www.cjoint.com/?3Efq7iRFoN
petite maquette à adapter à tes conditions (les 2 classeurs doivent être ouverts)
https://www.cjoint.com/?3Efq7iRFoN
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^^) :
Merci
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
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" ???
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" ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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?!
Si oui, quel est le rapport entre les couleurs et zeze?! Et sur quelle feuille se trouve la macro?!
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 !
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 !
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?!
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?!
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
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