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 :

Cocher une case quand bouton activé [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Conseil AMO BIM
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Conseil AMO BIM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Par défaut Cocher une case quand bouton activé
    Bonjour,

    J'ai créé un bouton avec un code VBA pour ouvrir l'explorateur windows, sélectionner un ou des fichiers et les coller dans un autre dossier.
    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
    17
    18
    Sub Chauffage_Pompe_FT()
    Dim Fichier As Variant
    Dim NomFichier As String
    Dim I As Integer
    Dim RepEnfant As String
    RepEnfant = ThisWorkbook.Path & "\TEST"
     
    Fichier = Application.GetOpenFilename(Title:="Sélection multiple", MultiSelect:=True)
     
    If TypeName(Fichier) = "Boolean" Then
      Exit Sub
    Else
      For I = 1 To UBound(Fichier)
        NomFichier = Mid(Fichier(I), InStrRev(Fichier(I), "\") + 1)
        FileCopy Fichier(I), ThisWorkbook.Path & "\Docs\Chauffage\Pompe\Fiches_techniques" & "\" & NomFichier
      Next
    End If
    End Sub
    Cela fonctionne bien.

    Ce que j'aimerais ajouter, c'est qu'une case soit cochée quand l'action a été effectuée, mais qu'elle ne le soit pas si aucun document n'est sélectionné (lorsque l'on quitte l'explorateur sans avoir cliqué sur "ouvrir").
    Je vous remercie d'avance pour votre aide

    MP_TIPEE

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par MP_TIPEE Voir le message
    Bonjour,

    Dans ce cas, Fichier = False. C'est le résultat également de votre test dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If TypeName(Fichier) = "Boolean" Then
      Exit Sub
    Else
    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Fichier = False Then
      Exit Sub
    Else
    Donc votre case à cocher = Fichier.

  3. #3
    Membre régulier
    Homme Profil pro
    Conseil AMO BIM
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Conseil AMO BIM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Par défaut
    Bonjour et merci pour votre réponse rapide,

    Je galère un peu (j'ai commencer le VBA hier matin ) mais j'apprends vite, enfin j'espère.

    Pour l'instant j'ai utilisé des boutons de la partie "contrôle de formulaire", mais d'après ce que je lis à droite et à gauche c'est peut-être pas la meilleure idée.
    J'ai essayé d'insérer une case à cocher de la partie "Active X" que j'ai nommé CB1.

    Puis j'ai modifier le code en ajoutant une ligne pour mettre la valeur de cette cas à True avec le code de mon bouton.
    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
    17
    18
    19
    20
     
    Sub Chauffage_Pompe_FT()
    Dim Fichier As Variant
    Dim NomFichier As String
    Dim I As Integer
    Dim RepEnfant As String
    RepEnfant = ThisWorkbook.Path & "\TEST"
     
    Fichier = Application.GetOpenFilename(Title:="Sélection multiple", MultiSelect:=True)
     
    If TypeName(Fichier) = "Boolean" Then
      Exit Sub
    Else
      For I = 1 To UBound(Fichier)
        NomFichier = Mid(Fichier(I), InStrRev(Fichier(I), "\") + 1)
        FileCopy Fichier(I), ThisWorkbook.Path & "\Docs\Chauffage\Pompe\Fiches_techniques" & "\" & NomFichier
        ThisWorkbook.CB1.Value = True
      Next
    End If
    End Sub
    Ça ne bug pas mais rien ne se passe.

    Peut-être faut-il utiliser une case à cocher de la partie formulaire, mais je ne voit pas comment la nommer pour y faire appel dans le code du bouton.

    Je ne suis pas sûr que cela soit très clair, si ça n'est pas le cas dîtes-le moi, je préciserai mon problème.

    Tks

  4. #4
    Membre confirmé Avatar de fuine0069
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juillet 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2017
    Messages : 33
    Par défaut
    essaie de mettre l'action de cocher AVANT de faire le copy?

  5. #5
    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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ça ne bug pas mais rien ne se passe
    C'est très étonnant ce que tu écris car pour moi cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.CB1.Value = True
    doit déclencher une erreur
    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

  6. #6
    Membre confirmé Avatar de fuine0069
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juillet 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2017
    Messages : 33
    Par défaut
    si tu mets juste AVANT de faire le copy, ca devrait fonctionner

  7. #7
    Membre régulier
    Homme Profil pro
    Conseil AMO BIM
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Conseil AMO BIM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Par défaut
    En fait, je viens de tester de mettre cette ligne avant le copy et ça me renvoie une erreur de compilation. Donc bonne nouvelle, ça bug

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Philippe Tulliez

    C'est très étonnant ce que tu écris car pour moi cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part

    ThisWorkbook.CB1.Value = True

    doit déclencher une erreur

    Sauf s'il est resté avec l'éditeur en mode erreur

  9. #9
    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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour Unparia,
    Sauf s'il est resté avec l'éditeur en mode erreur
    C'est ce que j'avais soupçonné mais devant cette affirmation "Ça ne bug pas mais rien ne se passe", je m'incline
    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

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/11/2007, 11h03
  2. peut on cocher, une case a cocher, automatiquement ?
    Par MCarole dans le forum Access
    Réponses: 19
    Dernier message: 17/07/2006, 14h25
  3. Cocher une case à cocher lorsque la feuille est protégée
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/07/2006, 10h04
  4. cocher une case+affichage de dates
    Par Toff !!!!! dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 10h07
  5. Cocher une case avec affichage automatique
    Par Toff !!!!! dans le forum Access
    Réponses: 3
    Dernier message: 27/09/2005, 13h36

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