Voici le pb que je rencontre et sur lequel isabelle a tent=E9 de m'aider
en vain:
En clickant sur un Shape rattach=E9 au module ci-dessous, un utilisateur
acc=E8de directement au r=E9glages "Couleurs et traits" de ce derrnier:
Public Sub FOND_Click()
Dim ShpFOND As Shape
ActiveSheet.Unprotect
Set ShpFOND =3D ActiveSheet.Shapes(Application.Caller)
ShpFOND.Select
Application.CommandBars("Worksheet Menu Bar").Controls("Format").
_
Controls("&Forme automatique...").Execute
'je ne sais dailleurs pas comment d=E9sactiver les autres onglets
ActiveSheet.Protect
End Sub
Mais la ligne Application.CommandBars me pose pb.
En effet, lorsque je n'ai pas "initi=E9" Excel =E0 ce menu...
en clickant avec ma souris sur le menu "Format" puis "Forme
automatique"
.=2E.Cette ligne de code cr=E9=E9 une erreur.
C'est vraiment =E9nervant, merci bcp si vous pouvez m'aider.
Cette commande ouvre ou ouvrira la fenêtre "Format automatique" seulement et seulement si c'est une cellule qui est sélectionnée et non pas un objet comme un graphe ou bouton de commande car la mise en forme s'adresse à une plage de cellule. La cellule sélectionnée dans la feuille active doit être l'une des cellules du tableau à mettre en forme.
Et pour tester que l'item sélectionné est bien une plage de cellules :
If TypeName(Selection) = "Range" Then 'Choisis une cellule du tableau de la feuille active à formater Range("G25").Select Application.CommandBars.FindControl(ID:x6).Execute Else MsgBox "L'objet sélectionné """ & TypeName(Selection) & _ """ n'est pas une plage de cellule valide." End If
Dans ta procédure, tu sélectionnes un objet just' avant l'appel de la procédure : ShpFOND.Select
Il ne faut pas te surprendre que tu aies des difficultés !!!!
"manu" a écrit dans le message de news:
Bonjour,
Voici le pb que je rencontre et sur lequel isabelle a tenté de m'aider en vain:
En clickant sur un Shape rattaché au module ci-dessous, un utilisateur accède directement au réglages "Couleurs et traits" de ce derrnier:
Public Sub FOND_Click()
Dim ShpFOND As Shape
ActiveSheet.Unprotect Set ShpFOND = ActiveSheet.Shapes(Application.Caller) ShpFOND.Select Application.CommandBars("Worksheet Menu Bar").Controls("Format"). _ Controls("&Forme automatique...").Execute 'je ne sais dailleurs pas comment désactiver les autres onglets ActiveSheet.Protect
End Sub
Mais la ligne Application.CommandBars me pose pb. En effet, lorsque je n'ai pas "initié" Excel à ce menu...
en clickant avec ma souris sur le menu "Format" puis "Forme automatique"
...Cette ligne de code créé une erreur.
C'est vraiment énervant, merci bcp si vous pouvez m'aider.
Remplace la commande :
| Application.CommandBars("Worksheet Menu Bar").Controls("Format"). _
| Controls("&Forme automatique...").Execute
Cette commande ouvre ou ouvrira la fenêtre "Format automatique" seulement
et seulement si c'est une cellule qui est sélectionnée et non pas un objet comme
un graphe ou bouton de commande car la mise en forme s'adresse à une plage
de cellule. La cellule sélectionnée dans la feuille active doit être l'une des cellules
du tableau à mettre en forme.
Et pour tester que l'item sélectionné est bien une plage de cellules :
If TypeName(Selection) = "Range" Then
'Choisis une cellule du tableau de la feuille active à formater
Range("G25").Select
Application.CommandBars.FindControl(ID:x6).Execute
Else
MsgBox "L'objet sélectionné """ & TypeName(Selection) & _
""" n'est pas une plage de cellule valide."
End If
Dans ta procédure, tu sélectionnes un objet just' avant l'appel de la procédure :
ShpFOND.Select
Il ne faut pas te surprendre que tu aies des difficultés !!!!
"manu" <ephconnexion@yahoo.fr> a écrit dans le message de news:
1187621828.552251.323650@g4g2000hsf.googlegroups.com...
Bonjour,
Voici le pb que je rencontre et sur lequel isabelle a tenté de m'aider
en vain:
En clickant sur un Shape rattaché au module ci-dessous, un utilisateur
accède directement au réglages "Couleurs et traits" de ce derrnier:
Public Sub FOND_Click()
Dim ShpFOND As Shape
ActiveSheet.Unprotect
Set ShpFOND = ActiveSheet.Shapes(Application.Caller)
ShpFOND.Select
Application.CommandBars("Worksheet Menu Bar").Controls("Format").
_
Controls("&Forme automatique...").Execute
'je ne sais dailleurs pas comment désactiver les autres onglets
ActiveSheet.Protect
End Sub
Mais la ligne Application.CommandBars me pose pb.
En effet, lorsque je n'ai pas "initié" Excel à ce menu...
en clickant avec ma souris sur le menu "Format" puis "Forme
automatique"
...Cette ligne de code créé une erreur.
C'est vraiment énervant, merci bcp si vous pouvez m'aider.
Cette commande ouvre ou ouvrira la fenêtre "Format automatique" seulement et seulement si c'est une cellule qui est sélectionnée et non pas un objet comme un graphe ou bouton de commande car la mise en forme s'adresse à une plage de cellule. La cellule sélectionnée dans la feuille active doit être l'une des cellules du tableau à mettre en forme.
Et pour tester que l'item sélectionné est bien une plage de cellules :
If TypeName(Selection) = "Range" Then 'Choisis une cellule du tableau de la feuille active à formater Range("G25").Select Application.CommandBars.FindControl(ID:x6).Execute Else MsgBox "L'objet sélectionné """ & TypeName(Selection) & _ """ n'est pas une plage de cellule valide." End If
Dans ta procédure, tu sélectionnes un objet just' avant l'appel de la procédure : ShpFOND.Select
Il ne faut pas te surprendre que tu aies des difficultés !!!!
"manu" a écrit dans le message de news:
Bonjour,
Voici le pb que je rencontre et sur lequel isabelle a tenté de m'aider en vain:
En clickant sur un Shape rattaché au module ci-dessous, un utilisateur accède directement au réglages "Couleurs et traits" de ce derrnier:
Public Sub FOND_Click()
Dim ShpFOND As Shape
ActiveSheet.Unprotect Set ShpFOND = ActiveSheet.Shapes(Application.Caller) ShpFOND.Select Application.CommandBars("Worksheet Menu Bar").Controls("Format"). _ Controls("&Forme automatique...").Execute 'je ne sais dailleurs pas comment désactiver les autres onglets ActiveSheet.Protect
End Sub
Mais la ligne Application.CommandBars me pose pb. En effet, lorsque je n'ai pas "initié" Excel à ce menu...
en clickant avec ma souris sur le menu "Format" puis "Forme automatique"
...Cette ligne de code créé une erreur.
C'est vraiment énervant, merci bcp si vous pouvez m'aider.
manu
Bonjour Denis,
Control utilisé: Application.CommandBars("Worksheet Menu Bar").Controls("Format").Controls("&Forme automatique...").
Le Control en question si tu regardes bien son libellé s'adresse bien à une forme automatique et je ne cherche pas à règler le format d'une Range. D'ailleurs, la ligne la procédure fonctionne bien ...MAIS à la seule condition d'avoir initialement effectué la manip à la souris !!!
Par contre, en utilisant la commande FindControl pour lister l'ensemble des Control d'Excel, je n'arrive pas à trouver son ID et ça c toujours ce même pb mais vu sous un autre angle.
Bonjour Denis,
Control utilisé: Application.CommandBars("Worksheet Menu
Bar").Controls("Format").Controls("&Forme automatique...").
Le Control en question si tu regardes bien son libellé s'adresse bien
à une forme automatique et je ne cherche pas à règler le format d'une
Range.
D'ailleurs, la ligne la procédure fonctionne bien ...MAIS à la seule
condition d'avoir initialement effectué la manip à la souris !!!
Par contre, en utilisant la commande FindControl pour lister
l'ensemble des Control d'Excel, je n'arrive pas à trouver son ID et ça
c toujours ce même pb mais vu sous un autre angle.
Control utilisé: Application.CommandBars("Worksheet Menu Bar").Controls("Format").Controls("&Forme automatique...").
Le Control en question si tu regardes bien son libellé s'adresse bien à une forme automatique et je ne cherche pas à règler le format d'une Range. D'ailleurs, la ligne la procédure fonctionne bien ...MAIS à la seule condition d'avoir initialement effectué la manip à la souris !!!
Par contre, en utilisant la commande FindControl pour lister l'ensemble des Control d'Excel, je n'arrive pas à trouver son ID et ça c toujours ce même pb mais vu sous un autre angle.
MichDenis
Ok, nous ne parlions pas de la même commande :
Le ID de la commande est : 791 la propriété caption est : "&Forme automatique..."
2 façons d'appeler la boîte de dialogue
a) (cette manière de faire doit être appelé à partir de l'interface de la feuille de calcul et non de la fenêtre VBA) SendKeys "^{1}" Shapes("NomDeLobject").Select
b) Celle que je préfère Shapes("NomDeLobject").Select Application.CommandBars.FindControl(ID:y1).Execute
"manu" a écrit dans le message de news:
Bonjour Denis,
Control utilisé: Application.CommandBars("Worksheet Menu Bar").Controls("Format").Controls("&Forme automatique...").
Le Control en question si tu regardes bien son libellé s'adresse bien à une forme automatique et je ne cherche pas à règler le format d'une Range. D'ailleurs, la ligne la procédure fonctionne bien ...MAIS à la seule condition d'avoir initialement effectué la manip à la souris !!!
Par contre, en utilisant la commande FindControl pour lister l'ensemble des Control d'Excel, je n'arrive pas à trouver son ID et ça c toujours ce même pb mais vu sous un autre angle.
Ok, nous ne parlions pas de la même commande :
Le ID de la commande est : 791
la propriété caption est : "&Forme automatique..."
2 façons d'appeler la boîte de dialogue
a)
(cette manière de faire doit être appelé à partir de l'interface
de la feuille de calcul et non de la fenêtre VBA)
SendKeys "^{1}"
Shapes("NomDeLobject").Select
b) Celle que je préfère
Shapes("NomDeLobject").Select
Application.CommandBars.FindControl(ID:y1).Execute
"manu" <ephconnexion@yahoo.fr> a écrit dans le message de news:
1187681266.431228.253930@g4g2000hsf.googlegroups.com...
Bonjour Denis,
Control utilisé: Application.CommandBars("Worksheet Menu
Bar").Controls("Format").Controls("&Forme automatique...").
Le Control en question si tu regardes bien son libellé s'adresse bien
à une forme automatique et je ne cherche pas à règler le format d'une
Range.
D'ailleurs, la ligne la procédure fonctionne bien ...MAIS à la seule
condition d'avoir initialement effectué la manip à la souris !!!
Par contre, en utilisant la commande FindControl pour lister
l'ensemble des Control d'Excel, je n'arrive pas à trouver son ID et ça
c toujours ce même pb mais vu sous un autre angle.
Le ID de la commande est : 791 la propriété caption est : "&Forme automatique..."
2 façons d'appeler la boîte de dialogue
a) (cette manière de faire doit être appelé à partir de l'interface de la feuille de calcul et non de la fenêtre VBA) SendKeys "^{1}" Shapes("NomDeLobject").Select
b) Celle que je préfère Shapes("NomDeLobject").Select Application.CommandBars.FindControl(ID:y1).Execute
"manu" a écrit dans le message de news:
Bonjour Denis,
Control utilisé: Application.CommandBars("Worksheet Menu Bar").Controls("Format").Controls("&Forme automatique...").
Le Control en question si tu regardes bien son libellé s'adresse bien à une forme automatique et je ne cherche pas à règler le format d'une Range. D'ailleurs, la ligne la procédure fonctionne bien ...MAIS à la seule condition d'avoir initialement effectué la manip à la souris !!!
Par contre, en utilisant la commande FindControl pour lister l'ensemble des Control d'Excel, je n'arrive pas à trouver son ID et ça c toujours ce même pb mais vu sous un autre angle.
manu
Merci Denis,
Mais avec l'instruction Application.CommandBars.FindControl(ID:y1).Execute Ca donne toujours la même erreur si je n'ai pas effectué la manip à la souris au moins une fois depuis le dernier démarrage d'Excel.
Public Sub Modification_FOND(ShpFOND As Shape)
Dim Cel As Range
ActiveSheet.Unprotect ShpFOND.Select
'*****1ère METHODE...ca marche pas ' With Selection ' Application.CommandBars("Worksheet Menu Bar"). _ ' Controls("Format").Controls("&Forme automatique...").Execute ' End With
'*****2ème METHODE...ca marche pas non plus ' Application.CommandBars.FindControl(ID:y1).Execute
'*****3ème METHODE...ca marche pas du tout SendKeys "^{1}"
ActiveSheet.Protect
End Sub
C très gentil à toi de t'être penché sur le pb.
Merci Denis,
Mais avec l'instruction
Application.CommandBars.FindControl(ID:=791).Execute
Ca donne toujours la même erreur si je n'ai pas effectué la manip à la
souris au moins une fois depuis le dernier démarrage d'Excel.
Public Sub Modification_FOND(ShpFOND As Shape)
Dim Cel As Range
ActiveSheet.Unprotect
ShpFOND.Select
'*****1ère METHODE...ca marche pas
' With Selection
' Application.CommandBars("Worksheet Menu Bar"). _
' Controls("Format").Controls("&Forme automatique...").Execute
' End With
'*****2ème METHODE...ca marche pas non plus
' Application.CommandBars.FindControl(ID:=791).Execute
'*****3ème METHODE...ca marche pas du tout
SendKeys "^{1}"
Mais avec l'instruction Application.CommandBars.FindControl(ID:y1).Execute Ca donne toujours la même erreur si je n'ai pas effectué la manip à la souris au moins une fois depuis le dernier démarrage d'Excel.
Public Sub Modification_FOND(ShpFOND As Shape)
Dim Cel As Range
ActiveSheet.Unprotect ShpFOND.Select
'*****1ère METHODE...ca marche pas ' With Selection ' Application.CommandBars("Worksheet Menu Bar"). _ ' Controls("Format").Controls("&Forme automatique...").Execute ' End With
'*****2ème METHODE...ca marche pas non plus ' Application.CommandBars.FindControl(ID:y1).Execute
'*****3ème METHODE...ca marche pas du tout SendKeys "^{1}"
ActiveSheet.Protect
End Sub
C très gentil à toi de t'être penché sur le pb.
MichDenis
Un fichier exemple illustrant les 2 méthodes :
http://cjoint.com/?ivtVEHicz8
"manu" a écrit dans le message de news:
Merci Denis,
Mais avec l'instruction Application.CommandBars.FindControl(ID:y1).Execute Ca donne toujours la même erreur si je n'ai pas effectué la manip à la souris au moins une fois depuis le dernier démarrage d'Excel.
Public Sub Modification_FOND(ShpFOND As Shape)
Dim Cel As Range
ActiveSheet.Unprotect ShpFOND.Select
'*****1ère METHODE...ca marche pas ' With Selection ' Application.CommandBars("Worksheet Menu Bar"). _ ' Controls("Format").Controls("&Forme automatique...").Execute ' End With
'*****2ème METHODE...ca marche pas non plus ' Application.CommandBars.FindControl(ID:y1).Execute
'*****3ème METHODE...ca marche pas du tout SendKeys "^{1}"
ActiveSheet.Protect
End Sub
C très gentil à toi de t'être penché sur le pb.
Un fichier exemple illustrant les 2 méthodes :
http://cjoint.com/?ivtVEHicz8
"manu" <ephconnexion@yahoo.fr> a écrit dans le message de news:
1187702387.379728.19700@50g2000hsm.googlegroups.com...
Merci Denis,
Mais avec l'instruction
Application.CommandBars.FindControl(ID:y1).Execute
Ca donne toujours la même erreur si je n'ai pas effectué la manip à la
souris au moins une fois depuis le dernier démarrage d'Excel.
Public Sub Modification_FOND(ShpFOND As Shape)
Dim Cel As Range
ActiveSheet.Unprotect
ShpFOND.Select
'*****1ère METHODE...ca marche pas
' With Selection
' Application.CommandBars("Worksheet Menu Bar"). _
' Controls("Format").Controls("&Forme automatique...").Execute
' End With
'*****2ème METHODE...ca marche pas non plus
' Application.CommandBars.FindControl(ID:y1).Execute
'*****3ème METHODE...ca marche pas du tout
SendKeys "^{1}"
Mais avec l'instruction Application.CommandBars.FindControl(ID:y1).Execute Ca donne toujours la même erreur si je n'ai pas effectué la manip à la souris au moins une fois depuis le dernier démarrage d'Excel.
Public Sub Modification_FOND(ShpFOND As Shape)
Dim Cel As Range
ActiveSheet.Unprotect ShpFOND.Select
'*****1ère METHODE...ca marche pas ' With Selection ' Application.CommandBars("Worksheet Menu Bar"). _ ' Controls("Format").Controls("&Forme automatique...").Execute ' End With
'*****2ème METHODE...ca marche pas non plus ' Application.CommandBars.FindControl(ID:y1).Execute
'*****3ème METHODE...ca marche pas du tout SendKeys "^{1}"
ActiveSheet.Protect
End Sub
C très gentil à toi de t'être penché sur le pb.
manu
Merci Denis,
J'ai bien pris note des 2 méthodes possibles. Tu pourras d'ailleurs remarquer si tu effectues la série d'action suivante ya plantage: 1/Lancer Excel 2/Ouvrir ton Classeur exemple 3/Clickez sur Méthode B
Bon WE
Merci Denis,
J'ai bien pris note des 2 méthodes possibles.
Tu pourras d'ailleurs remarquer si tu effectues la série d'action
suivante ya plantage:
1/Lancer Excel
2/Ouvrir ton Classeur exemple
3/Clickez sur Méthode B
J'ai bien pris note des 2 méthodes possibles. Tu pourras d'ailleurs remarquer si tu effectues la série d'action suivante ya plantage: 1/Lancer Excel 2/Ouvrir ton Classeur exemple 3/Clickez sur Méthode B
Bon WE
MichDenis
Si tu as mis ta version Microsoft Office à jour....et que tu continues à observer l'instabilité de la commande, c'est que tu fais fasse à un "bug"... à part la commande lancée par "Sendkeys" telle que je t'ai proposée, il n'y a pas énormément de solutions qui s'offrent à toi !
Tu peux faire part de ce bug à Microsoft et pour te remercier on t'offrira un de leurs plus beaux sourires.
;-))
"manu" a écrit dans le message de news:
Merci Denis,
J'ai bien pris note des 2 méthodes possibles. Tu pourras d'ailleurs remarquer si tu effectues la série d'action suivante ya plantage: 1/Lancer Excel 2/Ouvrir ton Classeur exemple 3/Clickez sur Méthode B
Bon WE
Si tu as mis ta version Microsoft Office à jour....et que tu
continues à observer l'instabilité de la commande, c'est
que tu fais fasse à un "bug"... à part la commande lancée
par "Sendkeys" telle que je t'ai proposée, il n'y a pas
énormément de solutions qui s'offrent à toi !
Tu peux faire part de ce bug à Microsoft et pour te remercier
on t'offrira un de leurs plus beaux sourires.
;-))
"manu" <ephconnexion@yahoo.fr> a écrit dans le message de news:
1187940219.979994.37070@i38g2000prf.googlegroups.com...
Merci Denis,
J'ai bien pris note des 2 méthodes possibles.
Tu pourras d'ailleurs remarquer si tu effectues la série d'action
suivante ya plantage:
1/Lancer Excel
2/Ouvrir ton Classeur exemple
3/Clickez sur Méthode B
Si tu as mis ta version Microsoft Office à jour....et que tu continues à observer l'instabilité de la commande, c'est que tu fais fasse à un "bug"... à part la commande lancée par "Sendkeys" telle que je t'ai proposée, il n'y a pas énormément de solutions qui s'offrent à toi !
Tu peux faire part de ce bug à Microsoft et pour te remercier on t'offrira un de leurs plus beaux sourires.
;-))
"manu" a écrit dans le message de news:
Merci Denis,
J'ai bien pris note des 2 méthodes possibles. Tu pourras d'ailleurs remarquer si tu effectues la série d'action suivante ya plantage: 1/Lancer Excel 2/Ouvrir ton Classeur exemple 3/Clickez sur Méthode B