Microsoft 365 macro vérif des données, et si OK accès à la page suivante

MG_000

XLDnaute Nouveau
Bonjour tout le monde

je suis en train de créer un formulaire pour le travail
sur le 1er onglet : je demande les informations générales des clients
sur le 2eme onglet : la personne devra sélectionner les articles dont elle a besoin

Je souhaiterais une macro VBA qui permette :
1 - de vérifier que toutes les infos générales soient bien saisies (en gros qu'il ne reste pas de "'/") => s'il manque des infos, une boite à message s'affiche
2 - si c'est bien saisi, de pouvoir accéder au 2eme onglet

Cette macro sera ajoutée en bas du 1er onglet

pour l'instant voici ce que j'ai pu écrire niveau VBA (je n'ai aucune formation VBA...)

Sub Verif()

'macro vérif saisie'

If Range("C7") = "/" And Range("H7") = "/" And Range("C10") = "/" And Range("C12") = "/" And Range("C18") = "/" And Range("G18") = "/" And Range("C20") = "/" And Range("G20") = "/" Then

MsgBox "Des informations sont manquantes !"

Else: Call Envoyer_PDF("EnvoyerCourriel")
End If

End Sub


merci beaucoup pour votre aide
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour MG, et bienvenu sur XLD,
En utilisant un ET vous émettrez un message si TOUTES les cellules contiennent "/".
En faisant :
VB:
If Range("C7") = "/" Or Range("H7") = "/" Or Range("C10") = "/" Or Range("C12") = "/" Or Range("C18") = "/" Or Range("G18") = "/" Or Range("C20") = "/" Or Range("G20") = "/" Then
vous émettrez un message si une ou plusieurs les cellules contiennent "/".
 

MG_000

XLDnaute Nouveau
Bonjour MG, et bienvenu sur XLD,
En utilisant un ET vous émettrez un message si TOUTES les cellules contiennent "/".
En faisant :
VB:
If Range("C7") = "/" Or Range("H7") = "/" Or Range("C10") = "/" Or Range("C12") = "/" Or Range("C18") = "/" Or Range("G18") = "/" Or Range("C20") = "/" Or Range("G20") = "/" Then
vous émettrez un message si une ou plusieurs les cellules contiennent "/".
merci beaucoup ! En effet ça sera mieux :)
 

MG_000

XLDnaute Nouveau
Re

Si des informations sont manquantes, je souhaite que le reste des macro ne s'active pas.
existe il un moyen pour ça ? En gros je veux forcer l'utilisateur à remplir correctement la partie info pour qu'il accède ensuite à l'onglet demande.

Merci :)

Sub Verif()

If Range("C7") = "/" Or Range("H7") = "/" Or Range("C10") = "/" Or Range("C12") = "/" Or Range("C18") = "/" Or Range("G18") = "/" Or Range("C20") = "/" Or Range("G20") = "/" Then

MsgBox "Des informations sont manquantes !"

Else: Call Feuille_suivante
End If
End Sub
Sub Feuille_suivante()
Worksheets("Demande").Visible = True
Worksheets("Demande").Activate
End Sub

Sub Envoi_demande()
Call Verif
Call Feuille_suivante
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Si j'ai bien compris une seule macro suffit.
En l'appelant on vérifie la présence d'un "/". S'il n'y en a, on sort sinon on continue.
Et au lieu d'appeler Envoi_demande vous appelez Verif.
VB:
Sub Verif()
    If Range("C7") = "/" Or Range("H7") = "/" Or Range("C10") = "/" Or Range("C12") = "/" Or Range("C18") = "/" Or Range("G18") = "/" Or Range("C20") = "/" Or Range("G20") = "/" Then
        MsgBox "Des informations sont manquantes !" & Chr(10) & "Veuillez les compléter."
    Else
        Worksheets("Demande").Visible = True
        Worksheets("Demande").Activate
    End If
End Sub
 

MG_000

XLDnaute Nouveau
Re,
Si j'ai bien compris une seule macro suffit.
En l'appelant on vérifie la présence d'un "/". S'il n'y en a, on sort sinon on continue.
Et au lieu d'appeler Envoi_demande vous appelez Verif.
VB:
Sub Verif()
    If Range("C7") = "/" Or Range("H7") = "/" Or Range("C10") = "/" Or Range("C12") = "/" Or Range("C18") = "/" Or Range("G18") = "/" Or Range("C20") = "/" Or Range("G20") = "/" Then
        MsgBox "Des informations sont manquantes !" & Chr(10) & "Veuillez les compléter."
    Else
        Worksheets("Demande").Visible = True
        Worksheets("Demande").Activate
    End If
End Sub
merci beaucoup ! ça fonctionne nickel :)
 

Discussions similaires

Statistiques des forums

Discussions
315 127
Messages
2 116 509
Membres
112 765
dernier inscrit
SIDIANW