Macro a plusieurs conditions

Bonjour à tous,

Je désire créer une macro à plusieurs conditions.

Faut-il absolument que j'utilise plusieurs fois "IF" et then ou y a t'il une façon plus logique de le faire?

actuellement je suis obligé de créer une condition pour chaque besoin:

exp if range("b3")="" then

msgbox "xxxxxxxxxx"

end if

je voudrai le faire de B3 à B13 je pense qu'il me faut entrer trop de conditions.

merci d'avance.

Amicalement

noel

bonjour

la structure de contôle la plus adpatée me semble le "select case"

select case "expression"

case valeur 1

Instruction

case valeur 2

instruction

case valeur 3

instruction

end select

cordialement

Bonjour,

Tu ne peux faire de Select Case sur une plage, sauf dans une macro Worksheet Change ou SelectionChange.

Dans tous les autres cas, la réponse est différente selon que la condition est la même pour toutes les cellules de la plage, ou/et selon que les conditions peuvent être cumulatives...

Fournir la macro à optimiser...

A+

Bonjour à tous les forumeurs,

Bonjour Galopin, Bemann,

Je vous remercie pour vos réponses.

Je transmets la macro à optimiser :

Sub Journaux()

If Range("b3") = "" Then

MsgBox "Tout d'abord vous devez créer votre identité juridique"

UsfInfos.Show

Exit Sub

End If

Sheets("journaux").Select

End Sub

de B3 à B13

if ="" then

surtout pour B12 et B13 comme on doit entrer des dates de début et fin, il faudrit que je puisse avertir aux utilisateurs que ces cellules doivent obligatoirement être remplies.

Merci de votre aide

Amicalement

Noel

Bonjour,

Non mais ça on avait bien compris !

Ce qu'il faut c'est pas un autre résumé mais le détail de toutes les conditions et de toutes les actions si vrai et si faux...

En effet la situation est très différente selon que les conditions sont cumulatives et/ou identiques.

par exemple : si aucun if ... = "" n'est admis, un simple

For each Cellule in plage... peut suffire si l'action qui en résulte est identique.

Comment est lancé la sub résultat ? par appui sur un bouton ?

A+

Sinon un simple "truc" comme ça peut suffire :

Sub test()
For Each o In Range("B3:B13")
If o = "" Then
MsgBox "Sorry, Vous devez remplir la ligne " & o.Row
Exit Sub
End If
Next
End Sub

(Avec ou sans Exit sub)

...mais je doute que ce soit vraiment ça le problème !

Re,

Merci Galopin c'était bien ça mon souci.

Encore une fois merci de ton aide

Amicalement

Noel

Rechercher des sujets similaires à "macro conditions"