[VBA Excel] Comment vérifier qu'un classeur contient un bouton sur la barre d'accès rapide ?
22 réponses
JièL
Salutatoussses
dans la famille du mec qui pose des QALC je voudrais JièL.
Bonne pioche ;-)
Comment puis-je vérifier que la barre d'accès rapide contient un bouton
qui lance une macro d'un classeur spécifique ?
J'ouvre via VBA un classeur, ce dernier contient une macro et un bouton
qui lance cette macro doit apparaitre dans la barre d'accès rapide lors
du changement de CE classeur (pas d'un autre).
Comment puis-je vérifier que le bouton est bien là et lance bien la
macro voulu ?
Oui, on peut dézipper en vba, j'ai ça dans mes macros word, ça doit marcher aussi pour Excel.
Tu peux m'envoyer ça steuplé ? Pas sûr de m'en servir, mais a voir...
-- JièL dézippeur
Geo
Bonsoir
Tu peux m'envoyer ça steuplé ?
Trouvé je ne sais trop où il y a longtemps : ----------------- Sub dézip() ' il ne faut pas typer les variables Dim fichierZip 'As String Dim dossierRes 'As String Dim sa As Object Dim fichiersExtr ' As Object Dim o As Object Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip" ' le dossier doit exister dossierRes = "l:temptestzip" Set sa = CreateObject("Shell.Application") Set o = sa.Namespace(fichierZip) Set resZip = sa.Namespace(dossierRes) Set fichiersExtr = o.Items resZip.CopyHere (fichiersExtr)
End Sub -------------- Dans ton cas il faudrait copier ton classeur dans un fichier temporaire et décompacter ce dernier.
Bonsoir
Tu peux m'envoyer ça steuplé ?
Trouvé je ne sais trop où il y a longtemps :
-----------------
Sub dézip()
' il ne faut pas typer les variables
Dim fichierZip 'As String
Dim dossierRes 'As String
Dim sa As Object
Dim fichiersExtr ' As Object
Dim o As Object
Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip"
' le dossier doit exister
dossierRes = "l:temptestzip"
Set sa = CreateObject("Shell.Application")
Set o = sa.Namespace(fichierZip)
Set resZip = sa.Namespace(dossierRes)
Set fichiersExtr = o.Items
resZip.CopyHere (fichiersExtr)
End Sub
--------------
Dans ton cas il faudrait copier ton classeur dans un fichier temporaire
et décompacter ce dernier.
Trouvé je ne sais trop où il y a longtemps : ----------------- Sub dézip() ' il ne faut pas typer les variables Dim fichierZip 'As String Dim dossierRes 'As String Dim sa As Object Dim fichiersExtr ' As Object Dim o As Object Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip" ' le dossier doit exister dossierRes = "l:temptestzip" Set sa = CreateObject("Shell.Application") Set o = sa.Namespace(fichierZip) Set resZip = sa.Namespace(dossierRes) Set fichiersExtr = o.Items resZip.CopyHere (fichiersExtr)
End Sub -------------- Dans ton cas il faudrait copier ton classeur dans un fichier temporaire et décompacter ce dernier.
isabelle
je croyais qu'il suffisait de renommer le .zip en .xlsm isabelle
Le 2016-05-17 14:10, Geo a écrit :
Bonsoir
Tu peux m'envoyer ça steuplé ?
Trouvé je ne sais trop où il y a longtemps : ----------------- Sub dézip() ' il ne faut pas typer les variables Dim fichierZip 'As String Dim dossierRes 'As String Dim sa As Object Dim fichiersExtr ' As Object Dim o As Object Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip" ' le dossier doit exister dossierRes = "l:temptestzip" Set sa = CreateObject("Shell.Application") Set o = sa.Namespace(fichierZip) Set resZip = sa.Namespace(dossierRes) Set fichiersExtr = o.Items resZip.CopyHere (fichiersExtr)
End Sub -------------- Dans ton cas il faudrait copier ton classeur dans un fichier temporaire et décompacter ce dernier.
je croyais qu'il suffisait de renommer le .zip en .xlsm
isabelle
Le 2016-05-17 14:10, Geo a écrit :
Bonsoir
Tu peux m'envoyer ça steuplé ?
Trouvé je ne sais trop où il y a longtemps :
-----------------
Sub dézip()
' il ne faut pas typer les variables
Dim fichierZip 'As String
Dim dossierRes 'As String
Dim sa As Object
Dim fichiersExtr ' As Object
Dim o As Object
Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip"
' le dossier doit exister
dossierRes = "l:temptestzip"
Set sa = CreateObject("Shell.Application")
Set o = sa.Namespace(fichierZip)
Set resZip = sa.Namespace(dossierRes)
Set fichiersExtr = o.Items
resZip.CopyHere (fichiersExtr)
End Sub
--------------
Dans ton cas il faudrait copier ton classeur dans un fichier temporaire et
décompacter ce dernier.
je croyais qu'il suffisait de renommer le .zip en .xlsm isabelle
Le 2016-05-17 14:10, Geo a écrit :
Bonsoir
Tu peux m'envoyer ça steuplé ?
Trouvé je ne sais trop où il y a longtemps : ----------------- Sub dézip() ' il ne faut pas typer les variables Dim fichierZip 'As String Dim dossierRes 'As String Dim sa As Object Dim fichiersExtr ' As Object Dim o As Object Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip" ' le dossier doit exister dossierRes = "l:temptestzip" Set sa = CreateObject("Shell.Application") Set o = sa.Namespace(fichierZip) Set resZip = sa.Namespace(dossierRes) Set fichiersExtr = o.Items resZip.CopyHere (fichiersExtr)
End Sub -------------- Dans ton cas il faudrait copier ton classeur dans un fichier temporaire et décompacter ce dernier.
Geo
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord. Si l'extension est xlsm, un double clic dessus va lancer Excel. Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format XML. Il est possible de les modifier, puis recompacter l'ensemble qui devient donc un zip. En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier Excel modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il lui faut donc décompacter le fichier, c'est le but de la macro.
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord.
Si l'extension est xlsm, un double clic dessus va lancer Excel.
Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format
XML.
Il est possible de les modifier, puis recompacter l'ensemble qui
devient donc un zip.
En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier
Excel modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il
lui faut donc décompacter le fichier, c'est le but de la macro.
Un xlsm est un zip, c'est la même chose. D'accord. Si l'extension est xlsm, un double clic dessus va lancer Excel. Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format XML. Il est possible de les modifier, puis recompacter l'ensemble qui devient donc un zip. En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier Excel modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il lui faut donc décompacter le fichier, c'est le but de la macro.
isabelle
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un classeur contient un bouton sur la barre d'accès rapide " ps/ à quand le prochain voyage au nouveau monde ? isabelle
Le 2016-05-17 15:43, Geo a écrit :
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord. Si l'extension est xlsm, un double clic dessus va lancer Excel. Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format XML. Il est possible de les modifier, puis recompacter l'ensemble qui devient donc un zip. En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier Excel modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il lui faut donc décompacter le fichier, c'est le but de la macro.
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un classeur
contient un bouton sur la barre d'accès rapide "
ps/ à quand le prochain voyage au nouveau monde ?
isabelle
Le 2016-05-17 15:43, Geo a écrit :
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord.
Si l'extension est xlsm, un double clic dessus va lancer Excel.
Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format XML.
Il est possible de les modifier, puis recompacter l'ensemble qui devient donc un
zip.
En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier Excel
modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il lui faut
donc décompacter le fichier, c'est le but de la macro.
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un classeur contient un bouton sur la barre d'accès rapide " ps/ à quand le prochain voyage au nouveau monde ? isabelle
Le 2016-05-17 15:43, Geo a écrit :
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord. Si l'extension est xlsm, un double clic dessus va lancer Excel. Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format XML. Il est possible de les modifier, puis recompacter l'ensemble qui devient donc un zip. En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier Excel modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il lui faut donc décompacter le fichier, c'est le but de la macro.
Geo
Bonjour
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un classeur contient un bouton sur la barre d'accès rapide "
JièL a donné l'explication dans son deuxième message. Il compte trouver l'information dans un xml qui est inclut dans le fichier. Pour y accéder il faut décompacter le zip-xlsm.
ps/ à quand le prochain voyage au nouveau monde ?
Excellent souvenir, déjà bien lointain. J'ai toujours dans mon bureau le trombone et le drapeau québécois que vous nous aviez offert. Nous avons décidé de refaire un tour des châteaux de la Loire. C'est pas mal non plus.
Bonjour
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un
classeur contient un bouton sur la barre d'accès rapide "
JièL a donné l'explication dans son deuxième message.
Il compte trouver l'information dans un xml qui est inclut dans le
fichier.
Pour y accéder il faut décompacter le zip-xlsm.
ps/ à quand le prochain voyage au nouveau monde ?
Excellent souvenir, déjà bien lointain.
J'ai toujours dans mon bureau le trombone et le drapeau québécois que
vous nous aviez offert.
Nous avons décidé de refaire un tour des châteaux de la Loire. C'est
pas mal non plus.
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un classeur contient un bouton sur la barre d'accès rapide "
JièL a donné l'explication dans son deuxième message. Il compte trouver l'information dans un xml qui est inclut dans le fichier. Pour y accéder il faut décompacter le zip-xlsm.
ps/ à quand le prochain voyage au nouveau monde ?
Excellent souvenir, déjà bien lointain. J'ai toujours dans mon bureau le trombone et le drapeau québécois que vous nous aviez offert. Nous avons décidé de refaire un tour des châteaux de la Loire. C'est pas mal non plus.
JièL
Le 17/05/2016 à 20:10, Geo a écrit :
Trouvé je ne sais trop où il y a longtemps : ----------------- Sub dézip() ' il ne faut pas typer les variables Dim fichierZip 'As String Dim dossierRes 'As String Dim sa As Object Dim fichiersExtr ' As Object Dim o As Object Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip" ' le dossier doit exister dossierRes = "l:temptestzip" Set sa = CreateObject("Shell.Application") Set o = sa.Namespace(fichierZip) Set resZip = sa.Namespace(dossierRes) Set fichiersExtr = o.Items resZip.CopyHere (fichiersExtr)
End Sub -------------- Dans ton cas il faudrait copier ton classeur dans un fichier temporaire et décompacter ce dernier.
Ca le fait parfaitement, faut juste copier le .xlsm en .zip.
Merci Geo, t'as un sacré grenier à macro ;-)
-- JièL des zipapeur
Le 17/05/2016 à 20:10, Geo a écrit :
Trouvé je ne sais trop où il y a longtemps :
-----------------
Sub dézip()
' il ne faut pas typer les variables
Dim fichierZip 'As String
Dim dossierRes 'As String
Dim sa As Object
Dim fichiersExtr ' As Object
Dim o As Object
Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip"
' le dossier doit exister
dossierRes = "l:temptestzip"
Set sa = CreateObject("Shell.Application")
Set o = sa.Namespace(fichierZip)
Set resZip = sa.Namespace(dossierRes)
Set fichiersExtr = o.Items
resZip.CopyHere (fichiersExtr)
End Sub
--------------
Dans ton cas il faudrait copier ton classeur dans un fichier temporaire
et décompacter ce dernier.
Ca le fait parfaitement, faut juste copier le .xlsm en .zip.
Trouvé je ne sais trop où il y a longtemps : ----------------- Sub dézip() ' il ne faut pas typer les variables Dim fichierZip 'As String Dim dossierRes 'As String Dim sa As Object Dim fichiersExtr ' As Object Dim o As Object Dim resZip As Object
fichierZip = "L:Tempcalendrier.zip" ' le dossier doit exister dossierRes = "l:temptestzip" Set sa = CreateObject("Shell.Application") Set o = sa.Namespace(fichierZip) Set resZip = sa.Namespace(dossierRes) Set fichiersExtr = o.Items resZip.CopyHere (fichiersExtr)
End Sub -------------- Dans ton cas il faudrait copier ton classeur dans un fichier temporaire et décompacter ce dernier.
Ca le fait parfaitement, faut juste copier le .xlsm en .zip.
Merci Geo, t'as un sacré grenier à macro ;-)
-- JièL des zipapeur
JièL
Hello Isabelle de la Geôlière ;-)
Si tu as un autre moyen de vérifier que la barre d'accès rapide à bien un bouton et que ce bouton pointe sur une macro de CE classeur, je suis preneur.
Là je suis parti de l'idée que, comme le dit MichD, "Rien n'est simple avec les nouvelles barres d'outils dans Office depuis 2007" et qu'il n'y avait pas de propriétés permettant de vérifier que cette barre contient bien un bouton personnalisé, mais si tu as mieux...
Merci
-- JièL QAT pas simple
Le 17/05/2016 à 23:34, isabelle a écrit :
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un classeur contient un bouton sur la barre d'accès rapide " ps/ à quand le prochain voyage au nouveau monde ? isabelle
Le 2016-05-17 15:43, Geo a écrit :
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord. Si l'extension est xlsm, un double clic dessus va lancer Excel. Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format XML. Il est possible de les modifier, puis recompacter l'ensemble qui devient donc un zip. En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier Excel modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il lui faut donc décompacter le fichier, c'est le but de la macro.
Hello Isabelle de la Geôlière ;-)
Si tu as un autre moyen de vérifier que la barre d'accès rapide à bien
un bouton et que ce bouton pointe sur une macro de CE classeur, je suis
preneur.
Là je suis parti de l'idée que, comme le dit MichD, "Rien n'est simple
avec les nouvelles barres d'outils dans Office depuis 2007" et qu'il n'y
avait pas de propriétés permettant de vérifier que cette barre contient
bien un bouton personnalisé, mais si tu as mieux...
Merci
--
JièL QAT pas simple
Le 17/05/2016 à 23:34, isabelle a écrit :
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un
classeur contient un bouton sur la barre d'accès rapide "
ps/ à quand le prochain voyage au nouveau monde ?
isabelle
Le 2016-05-17 15:43, Geo a écrit :
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord.
Si l'extension est xlsm, un double clic dessus va lancer Excel.
Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en
format XML.
Il est possible de les modifier, puis recompacter l'ensemble qui
devient donc un
zip.
En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier
Excel
modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il
lui faut
donc décompacter le fichier, c'est le but de la macro.
Si tu as un autre moyen de vérifier que la barre d'accès rapide à bien un bouton et que ce bouton pointe sur une macro de CE classeur, je suis preneur.
Là je suis parti de l'idée que, comme le dit MichD, "Rien n'est simple avec les nouvelles barres d'outils dans Office depuis 2007" et qu'il n'y avait pas de propriétés permettant de vérifier que cette barre contient bien un bouton personnalisé, mais si tu as mieux...
Merci
-- JièL QAT pas simple
Le 17/05/2016 à 23:34, isabelle a écrit :
ok Geo, c'est juste que ça ne collait pas avec "Comment vérifier qu'un classeur contient un bouton sur la barre d'accès rapide " ps/ à quand le prochain voyage au nouveau monde ? isabelle
Le 2016-05-17 15:43, Geo a écrit :
Bonjour Isabelle
Tu n'as pas tout suivi :-)
Un xlsm est un zip, c'est la même chose. D'accord. Si l'extension est xlsm, un double clic dessus va lancer Excel. Si l'extension est zip, un double clic dessus lance un décompactage.
Une fois le zip décompacté on a accès aux différents éléments en format XML. Il est possible de les modifier, puis recompacter l'ensemble qui devient donc un zip. En modifiant l'extension en xlsm, il est possible d'ouvrir le fichier Excel modifié.
Là, JièL veut avoir accès à un élément d'un classeur Excel en vba, il lui faut donc décompacter le fichier, c'est le but de la macro.
Geo
Bonjour
Merci Geo, t'as un sacré grenier à macro ;-)
Cette macro date de la version 2007, époque où j'ai cherché comment modifier le ruban en vba. Il n'y avait pas d'autre moyen que dézipper etc. Heureusement que la version 2010 est arrivée et j'ai mis tout ça au rancart.
Bonjour
Merci Geo, t'as un sacré grenier à macro ;-)
Cette macro date de la version 2007, époque où j'ai cherché comment
modifier le ruban en vba.
Il n'y avait pas d'autre moyen que dézipper etc.
Heureusement que la version 2010 est arrivée et j'ai mis tout ça au
rancart.
Cette macro date de la version 2007, époque où j'ai cherché comment modifier le ruban en vba. Il n'y avait pas d'autre moyen que dézipper etc. Heureusement que la version 2010 est arrivée et j'ai mis tout ça au rancart.
MichD
'---------- Là je suis parti de l'idée que, comme le dit MichD, "Rien n'est simple avec les nouvelles barres d'outils dans Office depuis 2007" et qu'il n'y avait pas de propriétés permettant de vérifier que cette barre contient bien un bouton personnalisé, mais si tu as mieux... '----------
Sur ce site Web, tu as tout ce qu’il faut pour apprendre à modifier le ruban. http://www.rondebruin.nl/mac/section8.htm
Un usager peut modifier la "barre d'accès rapide" (QAT) aussi souvent qu'il le désire! Même si tu réussis à tester la présence d'un bouton sur cette barre d'outils à l'ouverture du fichier, comment t'assurer que l'usager ne modifiera pas cette dernière?
En ajoutant un menu (ou commande à un élément du ruban, l'usager ne peut pas intervenir sur ce dernier.
MichD
'----------
Là je suis parti de l'idée que, comme le dit MichD, "Rien n'est simple
avec les nouvelles barres d'outils dans Office depuis 2007" et qu'il n'y
avait pas de propriétés permettant de vérifier que cette barre contient
bien un bouton personnalisé, mais si tu as mieux...
'----------
Sur ce site Web, tu as tout ce qu’il faut pour apprendre à modifier le ruban.
http://www.rondebruin.nl/mac/section8.htm
Un usager peut modifier la "barre d'accès rapide" (QAT) aussi souvent qu'il le désire! Même si tu
réussis à tester la présence d'un bouton sur cette barre d'outils à l'ouverture du fichier, comment
t'assurer que l'usager ne modifiera pas cette dernière?
En ajoutant un menu (ou commande à un élément du ruban, l'usager ne peut pas intervenir sur ce
dernier.
'---------- Là je suis parti de l'idée que, comme le dit MichD, "Rien n'est simple avec les nouvelles barres d'outils dans Office depuis 2007" et qu'il n'y avait pas de propriétés permettant de vérifier que cette barre contient bien un bouton personnalisé, mais si tu as mieux... '----------
Sur ce site Web, tu as tout ce qu’il faut pour apprendre à modifier le ruban. http://www.rondebruin.nl/mac/section8.htm
Un usager peut modifier la "barre d'accès rapide" (QAT) aussi souvent qu'il le désire! Même si tu réussis à tester la présence d'un bouton sur cette barre d'outils à l'ouverture du fichier, comment t'assurer que l'usager ne modifiera pas cette dernière?
En ajoutant un menu (ou commande à un élément du ruban, l'usager ne peut pas intervenir sur ce dernier.