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

Classeur qui se masque automatiquement??

17 réponses
Avatar
ElXav
Bonjour la communaut=E9,

Voici mon soucis:

J'ai un classeur (appelons Class1), avec du code VBA permettant
d'ouvrir au autre classeur. Ce dernier =E9tant un fichier CSV.

J'ai donc: dans mon Class1

Private Sub Workbook_Open()
Call OuvrirPlanProd()
End Sub

et dans Module1 de Class1

Public Sub OuvrirPlanProd()
...
Excel.Workbooks.OpenText Filename:=3DstrNomPlan2, origin:=3DxlWindows,
textqualifier:=3DxlTextQualifierNone, _
other:=3DTrue, otherchar:=3D";", local:=3DTrue
End Sub

Lorsque je double clic sur mon Class1 =E0 partir de l'explorateur, cela
fonctionne:
- Class1 s'ouvre
- Puis le fichier CSV s'ouvre correctement formatt=E9 dans un classeur

Je me suis cr=E9=E9 une barre d'outil perso dans Excel, avec un menu + un
bouton, sur lequel j'ai mis un lien hypertext vers mon Class1.

Si j'utilise ce bouton:
- Class1 s'ouvre
- Le fichier CSV s'ouvre correctement formatt=E9 dans un classeur
- MAIS, Excel masque automatiquement ce dernier!!!!

En d=E9boggage, j'ajoute une instruction Stop juste apr=E8s le OpenText.
Si je continue le code en pas =E0 pas, le classeur reste visible.
Si je fais "Continuer", en =E9tant arr=EAt=E9 sur le Stop, le classeur se
ferme ??!!??

Des id=E9es?

Cordialement.

7 réponses

1 2
Avatar
ElXav
Bonjour,

Non plus :-/ (confère ma réponse à FFO plus haut).

Bon, à priori, il faudrait que je lance l'ouverture de mon Class1 (qui
pilote l'ouverture et la gestion du fichier CSV) à partir, soit d'un
raccouric classque (bof), soit peut être à partir d'une macro
complémentaire (mais là, ca dépasse un brin mes compétences), sans
compter, qu'il faudrait en plus gérer l'ajout de l'option dans un
menu...

Je trouvais simple, l'emploi d'une barre d'outils personnelles...

D'autres idées?
Merci.

Cordialement.


On 13 juil, 17:17, "MichDenis" wrote:
Au lieu de définir un lien hypertexte à ton bouton de la barre des me nus,
tu ajoutes la propriété "OnMacro" à laquelle tu affectes une macro
ouvrant ledit classeur .csv.


Avatar
FFO
Rebonjour à toi
C'est le fonctionnement d'un lien Hypertexte qui ne fonctionne pas tout à
fait comme un code

Dans ma solution le classeur que tu cherches à ouvrir (Class1) n'est ouvert
que pour la mise en place du bouton personnalisé dans ta barre en relation
avec la macro à activer
Par la suite il n'est pas nécessaire de l'avoir ouvert pour activer la macro

Fais des essais avec ce classeur fermé et tu verras que le fonctionnement
reste identique avec ta manière de faire sans l'inconvénient que tu subit

Tiens moi informé !!!!!!
Avatar
ElXav
Bonjour,

Yes! Impeccable!

Or donc:
1) Ouvrir Class1
2) Affecter une macro de Class1 à un Bouton dans une barre d'outil
perso (J'ai affecté une Sub qui ne fait rien), ceci provoque
l'ouverture de "Class1" lors de l'utilisation du bouton.
2) Sur Workbook_Open de Class1 => Call OuvrirPlanProd (Procédure
chargée d'ouvrir le fichier CSV). Ainsi, si l'on ouvre "Class1", par
Fichier/Ouvrir, ou par lancement depuis explorateur, ou raccourci, le
CSV s'ouvre automatiquement
3) Le fichier CSV ouvert, reste enfin à l'écran.

Problème résolu.

Mille merci FFO.
Cordialement.

On 16 juil, 07:45, FFO wrote:
Rebonjour à toi
C'est le fonctionnement d'un lien Hypertexte qui ne fonctionne pas tout à
fait comme un code

Dans ma solution le classeur que tu cherches à ouvrir (Class1) n'est ou vert
que pour la mise en place du bouton personnalisé dans ta barre en relat ion
avec la macro à activer
Par la suite il n'est pas nécessaire de l'avoir ouvert pour activer la macro

Fais des essais avec ce classeur fermé et tu verras que le fonctionneme nt
reste identique avec ta manière de faire sans l'inconvénient que tu s ubit

Tiens moi informé !!!!!!


Avatar
FFO
Rebonjour à toi

Tu as trés bien compris mais je rajouterai une précision

Si tu pointes ton bouton sur la macro qui porte le code d'ouverture du CSV
"OuvrirPlanProd" il sera automatiquement exécuté

Donc inutile pour les besoins du bouton de recourir à une Macro
supplémentaire qui ne sert à rien

Essaies et dis moi !!!!!
Avatar
ElXav
Bonjour FFO,

J'ai essayé, mais dans mon cas, le code déclenche 2 fois.
- Une fois appelé par le WorkBook_Open
- Une fois par le bouton
Ce qui me semble logique.

Et comme dans ma procédure, je fais des manips sur le fichier avant de
l'ouvrir, la seconde exécution provoque la sortie d'un message (prévu
par mon code) indiquant que le fichier est déjà ouvert.

C'est pour cela que je suis passé par une procédure "tampon".
Sans ces manips préliminaires, ta proposition est effectivement la
bonne.

Bon WE.

Et encore merci pour ton aide.
Cordialement.



On 16 juil, 13:09, FFO wrote:
Rebonjour à toi

Tu as trés bien compris mais je rajouterai une précision

Si tu pointes ton bouton sur la macro qui porte le code d'ouverture du CS V
"OuvrirPlanProd" il sera automatiquement exécuté

Donc inutile pour les besoins du bouton de recourir à une Macro
supplémentaire qui ne sert à rien

Essaies et dis moi !!!!!


Avatar
FFO
Rebonjour à toi

La procédure se déclenche 2 fois en toute logique :

Une fois par l'action du bouton
Une fois par l'action d'ouverture du fichier lié à la nature du code :
Private Sub Workbook_Open()

Supprime tout le code Private Sub Workbook_Open()
Supprime le code supplémentaire pour le fonctionnement du bouton
Et relies le bouton à la macro d'ouverture du CVS "OuvrirPlanProd"

Fais des essais et dis moi !!!!!
Avatar
ElXav
Bonjour FFO,

Supprime tout le code Private Sub Workbook_Open()
Supprime le code supplémentaire pour le fonctionnement du bouton
Et relies le bouton à la macro d'ouverture du CVS "OuvrirPlanProd"


Non, non ;-)

Ca fonctionne impec comme cela, en effet, l'ouverture auto du CSV
DOITse faire à l'ouverture de Class1. C'est mon besoin principal.
Et Class1 peut être ouvert, soit via mon bouton, ou directement à
partir des derniers fichiers ouverts d'excel, ou de l'explorateur...
C'est l'utilisateur qui choisi ;-)
Toute méthode d'ouverture de Classe1 enclenche l'ouverture du CSV.
Mon problème de masquage automatique non désiré a été résolu gr âce à
tes conseils.

Je t'en remercie.

A bientôt.

On 17 juil, 17:44, FFO wrote:
Rebonjour à toi

La procédure se déclenche 2 fois en toute logique :

Une fois par l'action du bouton
Une fois par l'action d'ouverture du fichier lié à la nature du code :
Private Sub Workbook_Open()

Supprime tout le code Private Sub Workbook_Open()
Supprime le code supplémentaire pour le fonctionnement du bouton
Et relies le bouton à la macro d'ouverture du CVS "OuvrirPlanProd"

Fais des essais et dis moi !!!!!


1 2