If et and if VBA
Fermé
Erwin
-
2 août 2016 à 22:47
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 3 août 2016 à 23:57
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 3 août 2016 à 23:57
A voir également:
- If et and if VBA
- Vba if not ✓ - Forum Excel
- Reboot and select proper boot device or insert boot media in selected boot device and press a key - Forum Windows
- Incompatibilité de type vba ✓ - Forum Programmation
- And i miss you ✓ - Forum Musique / Radio / Clip
- Pourquoi han est vivant fast and furious 4 - Forum Cinéma / Télé
4 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
Modifié par eriiic le 2/08/2016 à 23:15
Modifié par eriiic le 2/08/2016 à 23:15
Bonjour,
vba parle anglais, essaie avec True/False
Type tes variables :
Dim Valeur as Boolean (ou as long)
et précise la propriété : Feuil6.cells (Dom.Row, 57).Value. Des fois on a des surprises avec les propriétés par défaut, surtout quand on débute et qu'on utilise des Variants à tort et à travers.
(il faut déclarer et typer les variables, ça t'aidera en sortant des erreurs dues à l'inattention)
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
vba parle anglais, essaie avec True/False
Type tes variables :
Dim Valeur as Boolean (ou as long)
et précise la propriété : Feuil6.cells (Dom.Row, 57).Value. Des fois on a des surprises avec les propriétés par défaut, surtout quand on débute et qu'on utilise des Variants à tort et à travers.
(il faut déclarer et typer les variables, ça t'aidera en sortant des erreurs dues à l'inattention)
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Merci eriiic pour ta réponse.
En fait j'ai déjà essayé mais ça fonctionne pas :
Variable objet ou variable de bloc With non définie
Que je mette True Fasse ou Vrai faux, avec des "" ou sans...
je tourne vraiment en rond malheureusement...
Peut être une autre idée ?
En fait j'ai déjà essayé mais ça fonctionne pas :
Variable objet ou variable de bloc With non définie
Que je mette True Fasse ou Vrai faux, avec des "" ou sans...
je tourne vraiment en rond malheureusement...
Peut être une autre idée ?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
Modifié par eriiic le 2/08/2016 à 23:20
Modifié par eriiic le 2/08/2016 à 23:20
C'est True sans " "
Sans la ligne en erreur et/ou le fichier non
Sans la ligne en erreur et/ou le fichier non
Merci Eric pour ta réponse.
J'ai en effet au préalable déclaré
Dim Dom as Range,
Dim Fait as Range
If Dom.value = True and Fait = fasse Then
Msgbox "DomRevenus non fait" 'pour simplifier dans un premier temps...
J'ai toujours le même message malheureusement...
J'ai testé de déclarer dom et fait en boolean et Long mais cette fois j'ai un message différent : erreur de compilation : qualification incorrect
Sur ma variable "Dom"
Si tu as une idée......
Merci encore
J'ai en effet au préalable déclaré
Dim Dom as Range,
Dim Fait as Range
If Dom.value = True and Fait = fasse Then
Msgbox "DomRevenus non fait" 'pour simplifier dans un premier temps...
J'ai toujours le même message malheureusement...
J'ai testé de déclarer dom et fait en boolean et Long mais cette fois j'ai un message différent : erreur de compilation : qualification incorrect
Sur ma variable "Dom"
Si tu as une idée......
Merci encore
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
3 août 2016 à 00:48
3 août 2016 à 00:48
J'ai nommé mes colonnes AC "Dom" et AD "FAIT"
Et si ça marche tu vas cliquer 1.000.000 de fois sur ok pour toute la colonne ?
Dépose un fichier réduit à l'essentiel sur cjoint.com et colle ici le lien fourni.
Et si ça marche tu vas cliquer 1.000.000 de fois sur ok pour toute la colonne ?
Dépose un fichier réduit à l'essentiel sur cjoint.com et colle ici le lien fourni.
Erwin
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
3 août 2016 à 23:02
3 août 2016 à 23:02
http://www.cjoint.com/c/FHdu73NcErL
Eric,
Ci joint le fichier comme convenu.
Merci encore pour ton aide
Erwin
Eric,
Ci joint le fichier comme convenu.
Merci encore pour ton aide
Erwin
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 248
3 août 2016 à 23:57
3 août 2016 à 23:57
Trop de mauvaises pratiques pour que je vois ça ce soir.
Déjà
- le nom est défini au niveau classeur, inutile de citer la feuille.
- tu mets toute la colonne : 1 millions de lignes !
Remplace par un nom dynamique : Nommer une Plage Dynamique
"59" est une chaine, 59 est un numérique. Ta cellule contient un numérique, tu n'es pas prêt d'avoir le test positif. Ca resoudra sans doute ton pb...
Et cliquer 10 fois en notant les noms sur un bout de papier est ch...t.
Propose plutôt une liste "Dossiers 2 mois", "Dossiers 1 mois", "Dossiers 10 jours", etc, filtre et affiche les dossiers concernés dans la bdd, ça serait plus convivial.
Déjà
Feuil6.Range("Alertes_signature"):
- le nom est défini au niveau classeur, inutile de citer la feuille.
- tu mets toute la colonne : 1 millions de lignes !
Remplace par un nom dynamique : Nommer une Plage Dynamique
If alertesignature = "59" Then
"59" est une chaine, 59 est un numérique. Ta cellule contient un numérique, tu n'es pas prêt d'avoir le test positif. Ca resoudra sans doute ton pb...
Et cliquer 10 fois en notant les noms sur un bout de papier est ch...t.
Propose plutôt une liste "Dossiers 2 mois", "Dossiers 1 mois", "Dossiers 10 jours", etc, filtre et affiche les dossiers concernés dans la bdd, ça serait plus convivial.
2 août 2016 à 23:59
J'ai nommé mes colonnes AC "Dom" et AD "FAIT" dans mon fichier Excel.
Je déclare :
Dim Dom as Range
Dim Fait as Range
'Ce qui fonctionne :
For each Dom in Feuil6.Range ("Dom")
Valeur = Feuil6.cells (Dom.Row, 57) 'ça c'est la concaténation du nom prénom de mon contact pour la msgbox
If Dom = VRAI Then
Msgbox "contacter " & Valeur & " pour Dom à valider"
Else
End if
Next
Lorsque je modifie la ligne if comme cela :
If Dom = VRAI and Fait = FAUX Then
ça ne fonctionne plus....
Si je test le code en remplaçant Dom par Fait ça fonctionne...
Arghhhhh !!!!!!
Je pense que je ne suis pas loin mais je n'y arrive pas !!!!!
Si quelqu'un a une idée !!!!!!
Merci par avance
Je cherche juste à faire apparaître un msgbox si valeur colonne AC = VRAI ET valeur colonne AD = FAUX...