IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Saisie obligatoire dans cellule avant lancement macro [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Assistante logistique
    Inscrit en
    Août 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Assistante logistique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 76
    Par défaut Saisie obligatoire dans cellule avant lancement macro
    Bonjour,

    J'ai un fichier Excel où je voudrais rendre obligatoire la saisie avant de lancer une macro de validation.

    Je souhaite que le contenu des cellules A12, B21, C6, C22, C10, C15, D19, E21 soit différent de rien.

    Existe t-il un moyen simple pour arriver à ce résultat ?

    merci

    Catherine

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    S'il n'y a pas de règle pour trouver les cellules et qu'il n'y a pas trop de cellules (comme dans ton cas), l'utilisation du if .... and ... and .... me semble adaptée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If range("A12").value<>"" and range("B21").value<>"" ...

    EDIT : Si tu as beaucoup de cellules a tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub Test()
    Dim str() As String
    Dim i As Integer
     
    str = Split("A12,B21,C6,C10", ",")
     
    For i = 0 To UBound(str)
        If Range(str(i)).Value = "" Then Exit Sub
    Next i
     
    Lance_Macro
     
    End Sub

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 207
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If IsEmpty(ThisWorkbook.Sheets("_").Cells(_,_)) Then
     
        Call MsgBox("Veuillez renseigner la cellule _", vbExclamation)
        Exit Sub
     
    Else
     
    [...]

  4. #4
    Membre confirmé
    Femme Profil pro
    Assistante logistique
    Inscrit en
    Août 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Assistante logistique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 76
    Par défaut
    J'ai opté pour la solution la plus courte, cela donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub saisie_obligatoire()
     
    If Range("A12").Value <> "" And Range("B21").Value <> "" And Range("c6").Value <> "" And Range("c10").Value <> "" And Range("c15").Value <> "" And Range("c22").Value <> "" And Range("d19").Value <> "" And Range("e21").Value <> "" Then
     
    Else
     
    Call MsgBox("Une ou des cellules obligatoires ne sont pas remplies : transporteur, lieu d'enlèvement, lieu de livraison, date enlèvement, date de livraison, nature des marchandises, nombre de colis, conditions de transport", vbExclamation)
     
    End If
    End Sub
    Merci beaucoup.

    Catherine

  5. #5
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour Catherine

    Tu peut aussi faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub saisie_obligatoire()
        Dim Message As String
        If Range("A12").Value = "" Then Message = Message & "transporteur" & vbLf
        If Range("B21").Value = "" Then Message = Message & "lieu d'enlèvement" & vbLf
        If Range("c6").Value = "" Then Message = Message & "lieu de livraison" & vbLf
        If Range("c10").Value = "" Then Message = Message & "date enlèvement" & vbLf
        If Range("c15").Value = "" Then Message = Message & "date de livraison" & vbLf
        If Range("c22").Value = "" Then Message = Message & "nature des marchandises" & vbLf
        If Range("d19").Value = "" Then Message = Message & "nombre de colis" & vbLf
        If Range("e21").Value = "" Then Message = Message & "conditions de transport"
     
        Call MsgBox("Une ou des cellules obligatoires ne sont pas remplies :" & vbLf & Message, vbExclamation)
    End Sub
    Bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Affichage MsgBox en 2fois pour une saisie obligatoire dans une cellule
    Par honeymamy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/03/2015, 15h35
  2. [XL-2003] Rendre obligatoire la saisie d'une cellule avant autre saisie
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/07/2009, 14h09
  3. saisie obligatoire dans formulaire
    Par zebi42 dans le forum IHM
    Réponses: 2
    Dernier message: 12/12/2006, 00h26
  4. rendre une saisie obligatoire dans un formulaire
    Par heteroclite dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/09/2006, 23h26
  5. saisie obligatoire dans un champs de formulaire
    Par Didi17 dans le forum Access
    Réponses: 2
    Dernier message: 28/10/2005, 03h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo