Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Positionnement sur la colonne du mois concerné

2 réponses
Avatar
mperoche
Bonjour à toutes et à tous,

Dans un fichier d'enregistrement permettant l'élaboration des déclarations
de TVA, j'ai une barre
d'outils qui se crée à chaque ouverture de ce fichier.
Le premier bouton est un popup (msoControlPopup) intitulé (Caption)
"SAISIE".
A l'aide d'une boucle, je crée les 12 boutons (msoControlButton)
correspondant aux 12 mois de l'année.
Le "onAction" de chacun de ces boutons permet d'accéder à la colonne du mois
concerné de la feuille "SAISIE" "range("b4:m4")".
Pour ce faire, j'ai actuellement 12 macros.
Cela fonctionne parfaitement, cependant, je souhaiterais alléger mes
modules.
Il y a certainement un moyen de ne créer qu'une seule macro de déplacement
qui récupérerait le caption du bouton appelant et permettrait le
positionnement sur la colonne du mois concerné.
J'essaie de m'inspirer d'une réponse que m'avait faite en son temps
l'excellent excelien Frédéric Sigonneau (à propos d'un déplacement sur des
feuilles différentes), mais je ne m'en sors pas.
Je n'arrive pas non plus à apprivoiser l'exemple donné dans l'aide VBA pour
"Find".

Je pense à quelque chose comme :

Sub Déplacement()
ColMois = Application.CommandBars.ActionControl.Caption
Sheets("saisie").Visible = True
Sheets("saisie").Select
With ActiveSheet.Range("B4:M4")
Set ColMois = .Find(ColMois, LookIn:=xlFormulas)
End With
ActiveCell.Offset(2,0).Select
Application.Goto reference:=ActiveCell, scroll:=True
End Sub

Mais cela ne fonctionne pas.

Je travaille avec Excel XP sous Windows XP

Merci d'avance de vos suggestions.

Bien amicalement

Michel

2 réponses

Avatar
Ribouldingue
Bonjour,

Tu pourrais essayer ceci :

Sub Déplacement()
Application.Goto Range("B4")(, CommandBars.ActionControl.Index), True
End Sub

Ou encore :

Application.Goto Range("B4")(, Application.Caller(1)), True

Amicalement,

Ribouldingue


Bonjour à toutes et à tous,

Dans un fichier d'enregistrement permettant l'élaboration des déclarations
de TVA, j'ai une barre
d'outils qui se crée à chaque ouverture de ce fichier.
Le premier bouton est un popup (msoControlPopup) intitulé (Caption)
"SAISIE".
A l'aide d'une boucle, je crée les 12 boutons (msoControlButton)
correspondant aux 12 mois de l'année.
Le "onAction" de chacun de ces boutons permet d'accéder à la colonne du mois
concerné de la feuille "SAISIE" "range("b4:m4")".
Pour ce faire, j'ai actuellement 12 macros.
Cela fonctionne parfaitement, cependant, je souhaiterais alléger mes
modules.
Il y a certainement un moyen de ne créer qu'une seule macro de déplacement
qui récupérerait le caption du bouton appelant et permettrait le
positionnement sur la colonne du mois concerné.
J'essaie de m'inspirer d'une réponse que m'avait faite en son temps
l'excellent excelien Frédéric Sigonneau (à propos d'un déplacement sur des
feuilles différentes), mais je ne m'en sors pas.
Je n'arrive pas non plus à apprivoiser l'exemple donné dans l'aide VBA pour
"Find".

Je pense à quelque chose comme :

Sub Déplacement()
ColMois = Application.CommandBars.ActionControl.Caption
Sheets("saisie").Visible = True
Sheets("saisie").Select
With ActiveSheet.Range("B4:M4")
Set ColMois = .Find(ColMois, LookIn:=xlFormulas)
End With
ActiveCell.Offset(2,0).Select
Application.Goto reference:¬tiveCell, scroll:=True
End Sub

Mais cela ne fonctionne pas.

Je travaille avec Excel XP sous Windows XP

Merci d'avance de vos suggestions.

Bien amicalement

Michel


Avatar
mperoche
Ribouldingue,

Mille mercis, cela fonctionne parfaitement bien.

Bien amicalement

Michel

"Ribouldingue" a écrit dans le message de
news:

Bonjour,

Tu pourrais essayer ceci :

Sub Déplacement()
Application.Goto Range("B4")(, CommandBars.ActionControl.Index), True
End Sub

Ou encore :

Application.Goto Range("B4")(, Application.Caller(1)), True

Amicalement,

Ribouldingue


Bonjour à toutes et à tous,

Dans un fichier d'enregistrement permettant l'élaboration des
déclarations


de TVA, j'ai une barre
d'outils qui se crée à chaque ouverture de ce fichier.
Le premier bouton est un popup (msoControlPopup) intitulé (Caption)
"SAISIE".
A l'aide d'une boucle, je crée les 12 boutons (msoControlButton)
correspondant aux 12 mois de l'année.
Le "onAction" de chacun de ces boutons permet d'accéder à la colonne du
mois


concerné de la feuille "SAISIE" "range("b4:m4")".
Pour ce faire, j'ai actuellement 12 macros.
Cela fonctionne parfaitement, cependant, je souhaiterais alléger mes
modules.
Il y a certainement un moyen de ne créer qu'une seule macro de
déplacement


qui récupérerait le caption du bouton appelant et permettrait le
positionnement sur la colonne du mois concerné.
J'essaie de m'inspirer d'une réponse que m'avait faite en son temps
l'excellent excelien Frédéric Sigonneau (à propos d'un déplacement sur
des


feuilles différentes), mais je ne m'en sors pas.
Je n'arrive pas non plus à apprivoiser l'exemple donné dans l'aide VBA
pour


"Find".

Je pense à quelque chose comme :

Sub Déplacement()
ColMois = Application.CommandBars.ActionControl.Caption
Sheets("saisie").Visible = True
Sheets("saisie").Select
With ActiveSheet.Range("B4:M4")
Set ColMois = .Find(ColMois, LookIn:=xlFormulas)
End With
ActiveCell.Offset(2,0).Select
Application.Goto reference:¬tiveCell, scroll:=True
End Sub

Mais cela ne fonctionne pas.

Je travaille avec Excel XP sous Windows XP

Merci d'avance de vos suggestions.

Bien amicalement

Michel