Signaler

Interactions génantes si ouverture de plusieurs fichiers

Posez votre question Lionel - Dernière réponse le 20 oct. 2016 à 12:12
Bonjour,
J'ai un souci lorsque j'ai plusieurs fichiers excel d'ouverts.
Exemple, à l'écran apparait le fichier 1, j'effectue une saisie dans n'importe quelle cellule. Cette saisie est prise en compte sur le fichier 2 !!!
Etrange n'est ce pas, quelqu'un aurait il déjà été confornté a cela.

Merci d'avance
Afficher la suite 
Utile
+0
moins plus
Bonjour,

sans doute une macro mal programmée.
eric
Ajouter un commentaire
Utile
+0
moins plus
Bonjour Eriiic,
effectivement, il est fort probable que cela provienne de mes macros, qui sont pourtant toutes simples, mais comme je suis autodidacte sur le sujet, il y a certainement quelque chose que je ne fais pas convenablement, voici la ligne de commande:
-------------------------------------
Private Sub CommandButton45_Click()

Unload UserForm4
Workbooks.Open ("\\ANGSK011.fbrakes.com\Reporting\QMM\QMM5-Fournisseurs\Service_QMM5\Suivi_des_coûts_QMM5.xls")
End Sub
----------------------------------------
Si cela permet à certains d'entre vous de m'aider à solutionner le pb, cela m'arrangerai vraiment.

Merci d'avance
albkan 1779Messages postés samedi 26 mars 2016Date d'inscription 3 décembre 2016 Dernière intervention - 18 oct. 2016 à 15:47
Bonjour Lionel,

Ta macro quitte (ferme) ton formulaire nommé « UserForm4 », puis ouvre
ton fichier « Suivi_des_coûts_QMM5.xls » qui est sur ce chemin réseau :
//ANGSK011.fbrakes.com\Reporting\QMM\QMM5-Fournisseurs\Service_QMM5

Et regarde bien depuis quel classeur et quelle feuille tu lance cette macro,
donc là où est ton bouton de commande nommé « CommandButton45 ».

Cordialement.  😊
Répondre
Lionel- 18 oct. 2016 à 15:54
Bonjour Albkan,
Que me conseilles tu d'observer sur la feuille qui lance cette macro.
Pour info, c'est une feuille comprenant des "userform" me permettant d'aller chercher différents documents en différents endroits

Merci d'avance
Répondre
albkan 1779Messages postés samedi 26 mars 2016Date d'inscription 3 décembre 2016 Dernière intervention - 18 oct. 2016 à 16:51
 
Non : je n'ai pas voulu te conseiller d'observer quelque chose sur la feuille qui
contient ton bouton (et donc lance ta macro) ! Je voulais seulement que tu te
dises : CommandButton45 est sur la feuille X du classeur Y, donc c'est que
se fera l'action d'une macro en l'absence de références explicites. La suite
te l'expliquera mieux :

Je vais supposer que CommandButton45 est sur Feuil1 du classeur X.
Donc quand tu cliques sur ton bouton de commande, ça lance ta macro
CommandButton45_Click() et ça fait ce que je t'ai déjà décris ; c'était
juste pour info, en espérant que ça aiderait à résoudre ton problème.

Car l'action d'une macro se fait sur une feuille nommée explicitement
d'un classeur nommé explicitement ; exemple :

Workbooks("Classeur X").Worksheets("Feuil1").Range("D5") = 10
met 10 dans la cellule D5 de la Feuille 1 du Classeur X.

Mais en l'absence de ces précisions explicites, l'action de la macro
se fera sur la feuille active du classeur actif ; exemple :

Range("D5") = 10
met 10 dans la cellule D5 de la feuille active du classeur actif.

Je pense que ton problème vient de là, car dans ton énoncé de départ, tu as écris
que ce que tu saisis dans le fichier 1 est pris en compte dans le fichier 2 ; pour moi,
soit il s'agit d'une référence non explicite, soit il y a une macro événementielle qui
capture ta saisie et la place dans ton fichier 2 (ce 2ème cas : en utilisant ou non
une référence explicite). Mais comme je ne connais pas ton vrai fichier, ce sont
juste des hypothèses.
 
Répondre
Lionel- 19 oct. 2016 à 07:09
Merci Albkan pour tes explications.
Tes explications sont logiques, je vais donc revoir mon petit programme en essayant de trouver la faille (remue méninges :) )
Merci de ton aide, je vous tiendrai informé si je parviens à résoudre cette problématique.

Bonne journée
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Re-Bonjour,
j'ai essayé en long, en large...mais tout va de travers !

Pour faire simple, il faudrait que je puisse créer une ligne de commande VBA qui fasse "échap" sur la feuill1 (du fichier A) qui contient ma macro1 avant l'ouverture du fichier B contenant une autre macro2 dédiée à la feuill2

Nota: j'ai comme l'impression que je me suis un peu compliqué la vie

Merci d'avance.
albkan 1779Messages postés samedi 26 mars 2016Date d'inscription 3 décembre 2016 Dernière intervention - 19 oct. 2016 à 20:19
 
Bonjour Lionel,

D'abord une petite rectification :

Dans ton message #2, tu as écris : « voici la ligne de commande : », puis tu as
mis juste après ta Sub CommandButton45_Click() ; tu peux appeler une Sub
« macro » ou « code VBA », mais pas « ligne de commande » !

Si tu fais < Windows >< r > (r pour run) et que tu tapes « cmd », ça ouvre une
fenêtre d'invite de commande, où tu peux taper des commandes DOS.

Pour un raccourci fichier, la ligne qui est dans le champ Cible et qui lance un
logiciel s'appelle « ligne de commande », à laquelle on peut ajouter des
paramètres supplémentaires (selon l'application).

Donc pour ton message #7, tu ne dois pas écrire « ligne de commande VBA »
mais tu peux parler de « programme VBA », ou « code VBA », ou « macro ».

------------------------------------------------------

Comme ta sub CommandButton45_Click() ne fait que fermer ton formulaire
UserForm4 puis ouvrir un fichier, ce n'est pas à cause d'elle qu'une saisie sur
fichier1 se fait sur fichier2 !

Dans ton énoncé initial, tu as écris que pour ton fichier1, tu fais une saisie dans
n'importe quelle cellule, mais sans préciser le nom de la feuille ! Comme je ne
connais pas ton fichier, comment savoir s'il s'agit de "Feuil1" ou d'une autre ?

Si c'est bien sur "Feuil1" que tu fais ta saisie, alors regardes le code de "Feuil1" :
il y a peut-être une macro qui expliquera ton problème ?

De toute façon, il faudrait que tu voies tous les emplacements possibles de
code VBA jusqu'à trouver la macro responsable !

Bonne chance !  😊
 
Répondre
lionel- 20 oct. 2016 à 12:12
Bonjour Albkan,
désolé pour mes formulations inadaptées (je suis autodidacte, mais cela n'excuse rien).

Je ne vois vraiment pas d'où cela peut provenir.
Merci d'avoir tenté de m'aider.

Cordialement
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !