Double condition macro excel

Résolu/Fermé
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023 - 26 juin 2011 à 23:23
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023 - 27 juin 2011 à 19:22
Bonsoir,

La plage (E16 : E25) est nommée Croix_Paiement
La plage (F16 : F25) est nommée Type_Paiement

Si en E16 se trouve une croix : x
Et Si F16 est : vide
J'aimerai que s'affiche une boite de dialogue qui précise qu'il faut saisir le type de paiement.
Et cela jusqu'aux cellules E25 et F25

D E F
Montant Type de paiement
16 6,00 € x Chq
17 5,50 € x
18
19
20
21
22
23
24
25


Je ne sais pas si c'est bien d'avoir nommé les 2 plages.
Je pense qu'il faut faire des boucles mais je ne sais pas comment déclarer mes valeurs et faire les boucles.
J'ai essayé ça mais il semble y avoir une erreur à partir de Croix_Paiement = c
Pour la suite je ne sais pas si c'est bon car il arrête la macro


Sub ControlePaiement()
Dim Type_Paiement As Range
Dim Croix_Paiement As Range
Croix_Paiement = c
Type_Paiement = t

If c.Value = "x" And t.Value = "" Then
MsgBox "Saisir le type de paiement"

End If
End Sub


Si quelqu'un peut m'aider car je progresse petit à petit mais il semble que je sois encore loin du compte !
Je vous remercie d'avance de votre attention.
Bonne nuit
Evelyne
A voir également:

4 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
26 juin 2011 à 23:47
Salut le forum

Un essai vite fait

Sub ControlePaiement()
Dim C As Range

For Each C In [Type_Paiement]
  If UCase(C) = "X" And C.Offset(0, 1) = "" Then
    MsgBox "Saisir le type de paiement"
    Exit Sub
  End If
Next C
End Sub

Mytå
0
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023
27 juin 2011 à 00:05
Bonsoir Myta,
Je viens d'essayer ta macro mais il semble que cela ne fonctionne pas.
Pourtant ce que tu as écris me semble logique mais je ne m'y connais pas assez.
Je te remercie cependant d'avoir répondu à ma demande.
Bonne nuit,
Evelyne
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
27 juin 2011 à 00:08
Re le forum

Essaye en remplaçant :
For Each C In [Type_Paiement]
par
For Each C In Range("E16:E25")

Mytå
0
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023
27 juin 2011 à 19:22
Salut Myta,
Je viens de tester ta ligne de code, c'est impeccable
Merci beaucoup

Evelyne
0