Creation de bouton pour macro

  • Initiateur de la discussion Initiateur de la discussion bylka213
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bylka213

XLDnaute Occasionnel
Bonjour,

Je voulais remercier toutes les personnes qui ont pu m'aider sur ce forum, j'espere que vous pourrais 'aider sur ce problème que je me pose.

Je vous explique j'ai deux attentes:

  • Dans un premier temps j'aimerais créer un bouton pour une macro que je lance toujours en faisant ALT+F8 (lancer la macro).
  • Dans un second temps j'ai des données provenant d'une source exterieur pour les mettre a jour je peux aller dans la barre d'outils données externes et appuyer soit sur actualiser les données(le point d'exclamation) ou sur actualiser tout (point d'exclamation sur fond de feuille EXCEL)


Merci pour vos reponses
 
Dernière édition:
Re : Creation de bouton pour macro

Merci vous êtes très sympa c'est exactement ce que je voulais.

Je voulais savoir aussi une chose est-ce que je peux lancer une macro dasn un classeur pour qu'elle s'applique à plusieurs classeurs?

Pour info ces cllasseurs sont dane le même repertoire.

Encore un grand merci pour l'aide que vous m'avez déjà fournit.

En attendant de vous relire
 
Re : Creation de bouton pour macro

Bonjour à tous,

Pour ouvrir un classeur, essaye quelque chose comme :
Workbooks.Open "c:\MonClasseur.xls"

Si tu veux plus de précision, il faut que tu me dises :
tous les classeurs de ton dossier doivent-ils être traités ou seulement certains d'entre eux ?
Ta macro est-elle bien prévue pour s'executer sur le classeur actif ? (ActiveWorkbook)
Que fais ta macro en gros ?
Peux-tu joindre un bout de fichier exemple pour qu'on y voie plus clair ?
 
Re : Creation de bouton pour macro

Voici ma macro

Code:
Sub MettreCommentaire()

Dim V_Sheet As Worksheet

For Each V_Sheet In Worksheets
V_Sheet.Activate
    Dim plage As Range
    Dim c As Range
    Dim derLigne As Long
    With ActiveSheet
        derLigne = .Range("A" & .Rows.Count).End(xlUp).Row
        Set plage = .Range("J1:K" & derLigne)
    End With
    For Each c In plage.Cells
        If c.Row > 1 And c.Value <> "" Then
            With c
                .ClearComments
                .AddComment Text:=.Text
                .Comment.Shape.Height = 188
                .Comment.Shape.Width = 255
                .ClearContents
            End With
        End If
    Next c

Next V_Sheet

End Sub


Elle met en commentaire tout ce qu'il y a dans les colonnes J et K car trop volumineux et efface le contenu de ces deux colonnes. Egalement grace à ton aide la macro ne s'applique pas aux cellules vide, ce qui aurait posé problème si lon lance la macro deux fois de suite (en effet toutes les cellules vides auraient un commentaire vide).

Pour l'instant grace au "For Each V_Sheet In Worksheets..."
la macro s'applique à toutes les feuilles.


Ce que je voudrais c'est qu'en plus la macro puisse s'appliquer à tous les classeurs d'un même repertoire.

10 classeurs d'un repertoire qui se nomme "tests"

Merci
 
Re : Creation de bouton pour macro

Il faut simplement que tu ouvres tous les classeurs et que tu change ton for each :

For Each V_Sheet In Worksheets

en 2 for each :

For Each Wkb in application.workbooks
For Each V_Sheet In Wkb.Worksheets

avec évidement 2 Next à la fin
 
Re : Creation de bouton pour macro

Merci tototiti,

ça marche impeccable 😀

désolé je n'ai pas envie que tu crois que je veuille abuser de ta gentillesse, et en même temps j'aimerais utiliser le même principe pour actualiser des données externes.
Jusque maintenant dans la boîte à outil je peux actualiser la feuille active ou tous le classeur.

J'aiemrais à l'image de ce que l'on viens de faire actualiser les données externes de tous les classeurs ouverts.

Merci


ps: j'ai un mot de passe pour acceder à ma source de données externes serais tu comment le supprimer (ne plus avoir à le renseigner?)
 
Re : Creation de bouton pour macro

Ne soit pas désolé...c'est moi qui suis désolé de te déranger comme ça.

Pour répondre à ta question:

Pour le mot de passe : c'est un mot de passe de connexion à la base ?
oui c'est un mot de passe de connexion à la base.

D'ailleurs cela me gêne parce que je n'arrive même pas à tester ta macro précedente

Code:
For each Wkb in application.workbooks
Wkb.RefreshAll
Next Wkb

On dirait que le mot de passe n'est pas reconnu 😕


Quand je passe en mode débogage de la macro cela bloque sur Wkb.RefreshAll 🙁
 
Dernière édition:
Re : Creation de bouton pour macro

Bonjour tout le monde,

Je relance mon message.

Comme dit precedemment j'ai un problème parce que lorsque j'appuie sur mon bouton mise a jour de tous les classeurs qui lance la macro

Code:
For each Wkb in application.workbooks
Wkb.RefreshAll
Next Wkb

Cela bloque, en fait on me demande le mot de passe de conexion a la base je le rentre mais ca fait comme si il ne le reconnaissait pas quand je lé tenté une dizaine de fois et que je fais annulé il me propose le mode debogage et ca me surligne dan la macro la ligne

wkb.RefreshAll


Merci a bientot je l'espere
 
Re : Creation de bouton pour macro

Re,


En réalité ce n'était pas un bug de la macro mais juste que l'actualisation de tous les classeurs en même temps fait que j'ai à entrer autant de fois le mot de passe de connexion à la base que j'ai de feuilles dans tous mes classeurs.

Auriez vous une idée pour que lorsque j'entre le mot de passe une fois je n'ai pas à le répéter pour chaque feuille?


Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

R
Réponses
2
Affichages
792
Réponses
23
Affichages
2 K
A
Réponses
44
Affichages
3 K
AlexandrB
A
Retour