Macro Excel condition

Résolu/Fermé
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023 - 2 juil. 2011 à 19:02
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023 - 3 juil. 2011 à 16:50
Bonjour,

J'ai encore une petite question.
Voici 4 conditions dans laquelles je veux que m'indique les oublis de ma feuille de calcul dans des boites de dialogue.
- Si j'ai oublié certaines données, la macro s'arrête le temps que je corrige.
- S'il n'y a pas d'oubli, j'aimerai appeler une autre macro après les vérifications.
Je pense que je n'arrive pas à placer les données correctement car
- soit les boites de dialogues s'affichent mais la macro continue sans que j'ai la posibilité de corriger
- soit la macro s'arrête.
Je pense que tous les éléments sont bien présents mais dans un ordre qui n'est pas correct et je ne réussi pas à trouver comment faire.

Si quelqu'un a l'amabilité de vouloir m'aider, je l'en remercie d'avance.
Evelyne

Ci-dessous le code en question

Sub AAtest()

'Désactive l'affichage de l'écran
Application.ScreenUpdating = False
'Sélectionne la feuille "Saisie 11-12"
Sheets("Saisie 11-12").Select

'Voir macro ControleValidation : vérifie la validation
Dim T As Range
For Each T In Range("C6:C11")
If T.Value <> "" And T.Offset(0, 2) = "" Then
MsgBox "Activité à valider ?"
Exit For
End If
Next T

'Voir macro ControleTypePaiement : vérifie le type de paiement
Dim C As Range
For Each C In Range("E16:E25")
If UCase(C) = "X" And C.Offset(0, 1) = "" Then
MsgBox "Saisir le type de paiement"
Exit For
End If
Next C

'Vérifie les initiales ACCUEIL, et...
If [B1] = "" Then
MsgBox "Sélectionner en B1 les initiales accueil"
[B1].Select

Else

'...vérifie l'adhésion :
'Si la cellule G13 est vide ==> boite de dialogue et sélectionne la cellule G13 et quitte la procédure
If [G13] = "" Then MsgBox "Saisir le nombre de carte d'adhésion"
[G13].Select
Exit Sub 'End if, en bas de la procédure arrête la condition G13

End If

'Fin de la condition initiales ACCUEIL et Adhésion

Call Ventilation

'Active le raffraichissement de l'écran
Application.ScreenUpdating = True

End Sub
Désolée pour les commentaires mais ça m'aide à mieux comprendre ce que je fais

A voir également:

3 réponses

antipolis a Messages postés 15609 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 12 novembre 2014 2 858
2 juil. 2011 à 21:01
Bonjour.


Personnellement, je préfère ça:

Sub Saisie_Controler()
'
' Macro enregistrée le 02/07/2011 par 10 - MICHEL
'
Range("C6").Select

For MonCompteur = 1 To 6
If ActiveCell.Value = "" And ActiveCell.Offset(0, 2).Value = "" Then
ActiveCell.Offset(0, 3).Value = "<= Donnée manquante"
Exit Sub
Else
ActiveCell.Offset(0, 3).Value = ""
End If
ActiveCell.Offset(1, 0).Select
Next
End Sub


On sort de la macro dès qu'elle rencontre une cellule vide.
Plus un petit message.

On saisie la donnée manquante.

Et bien entendu, on relance la macro pour revérifier.

"Désolée pour les commentaires"
Non, non, c'est très bien, et même indispensable pour s'y retrouver.
Surtout si on on est pas l'auteur de macro.


Cordialement.
0
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023
2 juil. 2011 à 21:35
Bonsoir,
Merci de ta réponse.
Cependant, je n'arrive pas à adapter à mes besoins car j'ai des conditions doubles, pour C6 je réussit mais pas pour E16.
je vais continuer de chercher.
En attentant, merci pour ton aide
Evelyne
0
Evedll Messages postés 74 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 26 septembre 2023
3 juil. 2011 à 16:50
Merci antipolis a,

J'ai trouvé une solution et te remercie de ton attention.
Evelyne
0