If et and if VBA
Erwin
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour
Voici mon soucis
J'ai sur ma feuil6 dans les colonnes AC et AD des valeurs Vrai ou Faux
Je cherche à créer une alerte à l'ouverture du fichier qui dit :
Si vrai en AC et Faux en AD, alors alertes
J'ai essayé comme cela :
Valeur = Feuil6.cells (Dom.Row, 57) 'qui n'est que la concaténation du nom et prénom du contact
If Dom = VRAI and Fait = FAUX Then
Msgbox "Alerte : Contacter " & Valeur & " pour sa Dom à faire"
Else
End if
Mais je n'y arrive pas...
Je suis débutant en vba mais vous l'aurez certainement compris.... désolé. ..
Pour information les colonnes AC et AD sont remplis par des checkbox renvoyant donc la valeur vrai ou faux.(peut être important à savoir ??)
Merci par avance pour votre aide
Voici mon soucis
J'ai sur ma feuil6 dans les colonnes AC et AD des valeurs Vrai ou Faux
Je cherche à créer une alerte à l'ouverture du fichier qui dit :
Si vrai en AC et Faux en AD, alors alertes
J'ai essayé comme cela :
Valeur = Feuil6.cells (Dom.Row, 57) 'qui n'est que la concaténation du nom et prénom du contact
If Dom = VRAI and Fait = FAUX Then
Msgbox "Alerte : Contacter " & Valeur & " pour sa Dom à faire"
Else
End if
Mais je n'y arrive pas...
Je suis débutant en vba mais vous l'aurez certainement compris.... désolé. ..
Pour information les colonnes AC et AD sont remplis par des checkbox renvoyant donc la valeur vrai ou faux.(peut être important à savoir ??)
Merci par avance pour votre aide
A voir également:
- If et and if VBA
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Find and mount - Télécharger - Récupération de données
- Disk boot failure insert system disk and press enter - Guide
- Vba concatenate string and integer ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
4 réponses
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 ?
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
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.
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...