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 :

Affichage adresse cellule dans boite de dialogue


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 21
    Par défaut Affichage adresse cellule dans boite de dialogue
    Bonjour à tous, je débutant dans la programmation vba. Je dois créer un fichier excel pour des utilisateurs à qui j'oblige de remplir toutes les cellules avant de pouvoir quitter le fichier. Et je voudrais afficher dans une boite de dialogue, l'adresse des cellules vides.

    Voici mon code pour le moment.. Me reste juste l'affichage des cellules vides..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Workbook_Beforeclose(Cancel As Boolean)
     
    Const Nb_Cases As Integer = 5
    For c = 1 To Nb_Cases
    For l = 1 To Nb_Cases
     
    If Sheets("Feuil3").Cells(l, c) = "" Then
     
       MsgBox "La Cellule n 'est pas saisie"
         Cancel = True
    End If
    Next
    Next
     
    End Sub
    Merci de votre aide..
    Cdt

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    S'il n'est pas impératif de passer par une programmation en VBA, tu peux parfaitement résoudre cela par une Mise en forme conditonnelle en mettant par exemple en rouge les cellules vides.
    En admettant que la zone à encoder soit la plage $A$2:$F$20
    Après sélection de cette plage, la formule à placer dans la MFC est :
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 21
    Par défaut
    Merci de ta réponse.
    Je n"ai surement pas compris, mais je ne vois pas du tout pourquoi je devrais utiliser une MFC dans ce cas là..

    Ce qu'il me manque dans mon code Vba, c'est juste l'affichage des adresses de mes cellules vides dans ma MsgBox et je ne vois pas du tout comment faire.

    MsgBox "La Cellule" & AdresseCellule & " n 'est pas saisie"

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub sc()
     
    Const Nb_Cases As Integer = 5
        For c = 1 To Nb_Cases
            For i = 1 To Nb_Cases
     
                If Sheets("Feuil1").Cells(i, c) = "" Then
                Message = Message & ", " & Cells(i, c).Address
     
                   'msgBox "La Cellule n 'est pas saisie"
                     'Cancel = True
                End If
            Next
        Next
     MsgBox Right(Message, Len(Message) - 1)
    End Sub
    JP

  5. #5
    Membre expérimenté Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Par défaut
    essais ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For Each cell In Range("ta zone de recherche")
    If cell = "" Then
    'ton code
    V_Add=cell.Address
    End If
    Next cell

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Soya113 Voir le message
    Merci de ta réponse.
    Je n"ai surement pas compris, mais je ne vois pas du tout pourquoi je devrais utiliser une MFC dans ce cas là..
    Ce qu'il me manque dans mon code Vba, c'est juste l'affichage des adresses de mes cellules vides dans ma MsgBox et je ne vois pas du tout comment faire.
    MsgBox "La Cellule" & AdresseCellule & " n 'est pas saisie"
    C'était juste une suggestion qui permet à l'utilisateur de visualiser par une couleur que telle cellule n'est pas encodée.
    Petite proposition en VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Beforeclose(Cancel As Boolean)
     Const adr As String = "$A$2:$D$8"
     Dim rng As Range, sht As Worksheet
     Dim txt As String: txt = "La ou les Cellules suivantes ne sont pas saisie " & vbCrLf
     Set sht = ThisWorkbook.Worksheets("Feuil1")
     For Each rng In sht.Range(adr)
      If Len(rng) = 0 Then txt = txt & rng.Address & vbCrLf
     Next
     MsgBox txt
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 21
    Par défaut
    Merci pour vos réponses, je vais regarder ce que vous m'avez proposer et vous tiendrais informés

  8. #8
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 21
    Par défaut
    Au final,

    Seul suffisait d'ajouter comme l'indiquait JPierreM Cells(l,c).address, directement dans le MsgBox.

    Merci pour vos réponses

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    Petite modif proposée pour vérifier si une cellule est vide et une autre pour identifier dans la MsgBox l'addresse de la cellule.

    MODIF: ajout de (False, False) après .address afin d'éliminer les $ du code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Workbook_Beforeclose(Cancel As Boolean)
     
    Const Nb_Cases As Integer = 5
    For c = 1 To Nb_Cases
    For l = 1 To Nb_Cases
     
    If IsEmpty(Sheets("Feuil3").Cells(l, c)) Then
     
       MsgBox "La Cellule " & Sheets("Feuil3").Cells(l,c)).Address(False, False) & " n'est pas saisie"
         Cancel = True
    End If
    Next
    Next
     
    End Sub

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

Discussions similaires

  1. Transparence controle dans boite de dialogue
    Par coco21 dans le forum MFC
    Réponses: 7
    Dernier message: 22/02/2008, 23h38
  2. lien dans boite de dialogue
    Par dad72 dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 12/02/2008, 14h57
  3. CPaintDC dans boite de dialogue
    Par Denn's dans le forum MFC
    Réponses: 4
    Dernier message: 23/10/2007, 16h08
  4. Taille de texte dans boite de dialogue
    Par Mirna dans le forum MFC
    Réponses: 2
    Dernier message: 16/11/2006, 14h40
  5. Icone dans boite de dialogue
    Par remixes dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/09/2006, 13h47

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