Pb macro générée par evenement onclick d'un combobox
2 réponses
Michel Angelosanto
Bonjour,
Dans l'événement onclick d'un combobox, j'appelle une macro qui est dans un
module et modifie des cellules sur une 2e feuille en fonction de la
sélection dans le combobox.
Dans cette macro, je sélectionne la feuille 2 avant de faire les
modifications. Finalement en fin de procédure onclick, je sélectionne la
cellule A1 de la feuille 1 pour désactiver le combobox.
Le problème est le suivant:
La sélection de la feuille sheets(2).select génère une erreur aléatoire
"méthode non gérée par cet objet"
En faisant précéder cette ligne par sheets(2).activate, l'erreur n'a plus
lieu mais parfois, la feuille 2 n'est pas sélectionnée et la feuille 1 se
trouve donc écrasée par les modifications qui auraient du se passer sur la
feuille 2.
Ceci n'a lieu qu'environ une fois sur 10.
Je suppose que je dois mal gérer le combobox qui me remet parfois sur la
feuille 1.
En pas à pas, le problème ne se produit pas!
J'ai l'impression que le combobox reste sélectionné et cause ce
dysfonctionnement.
Qu'en pensez-vous?
--
Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Youky \(BJ\)
Bonsoir Michel, En premier Important éviter d'utiliser la méthode .Selec En 2eme Sheet(2).......si déplacement d'onglet tout plante En 3 Sheets("toto"").....si le copain renomme autrement ...tout plante aussi Utilise donc le CodeName de la feuille...voir dans la fenêtre des projets de l'éditeur exemple retrouve le nom de ton onglet et voir le N°de Feuil1-2-3 ou 4 ou + Et mets le code comme suit avec le bon N° de feuil With Feuil2 'ou moins bienWith sheets(2) ou With sheets("toto") ' et là ton code avec un point en début qui signifie la feuil2 .[A1] = "aaa" End With
Youky (BJ)
"Michel Angelosanto" a écrit dans le message de news: %23E8miN%
Bonjour, Dans l'événement onclick d'un combobox, j'appelle une macro qui est dans un module et modifie des cellules sur une 2e feuille en fonction de la sélection dans le combobox. Dans cette macro, je sélectionne la feuille 2 avant de faire les modifications. Finalement en fin de procédure onclick, je sélectionne la cellule A1 de la feuille 1 pour désactiver le combobox.
Le problème est le suivant: La sélection de la feuille sheets(2).select génère une erreur aléatoire "méthode non gérée par cet objet" En faisant précéder cette ligne par sheets(2).activate, l'erreur n'a plus lieu mais parfois, la feuille 2 n'est pas sélectionnée et la feuille 1 se trouve donc écrasée par les modifications qui auraient du se passer sur la feuille 2. Ceci n'a lieu qu'environ une fois sur 10. Je suppose que je dois mal gérer le combobox qui me remet parfois sur la feuille 1. En pas à pas, le problème ne se produit pas!
J'ai l'impression que le combobox reste sélectionné et cause ce dysfonctionnement.
Bonsoir Michel,
En premier Important éviter d'utiliser la méthode .Selec
En 2eme Sheet(2).......si déplacement d'onglet tout plante
En 3 Sheets("toto"").....si le copain renomme autrement ...tout plante
aussi
Utilise donc le CodeName de la feuille...voir dans la fenêtre des projets de
l'éditeur
exemple retrouve le nom de ton onglet et voir le N°de Feuil1-2-3 ou 4 ou +
Et mets le code comme suit avec le bon N° de feuil
With Feuil2
'ou moins bienWith sheets(2) ou With sheets("toto")
' et là ton code avec un point en début qui signifie la feuil2
.[A1] = "aaa"
End With
Youky (BJ)
"Michel Angelosanto" <angelosa@free.fr> a écrit dans le message de news:
%23E8miN%23VJHA.1224@TK2MSFTNGP04.phx.gbl...
Bonjour,
Dans l'événement onclick d'un combobox, j'appelle une macro qui est dans
un module et modifie des cellules sur une 2e feuille en fonction de la
sélection dans le combobox.
Dans cette macro, je sélectionne la feuille 2 avant de faire les
modifications. Finalement en fin de procédure onclick, je sélectionne la
cellule A1 de la feuille 1 pour désactiver le combobox.
Le problème est le suivant:
La sélection de la feuille sheets(2).select génère une erreur aléatoire
"méthode non gérée par cet objet"
En faisant précéder cette ligne par sheets(2).activate, l'erreur n'a plus
lieu mais parfois, la feuille 2 n'est pas sélectionnée et la feuille 1 se
trouve donc écrasée par les modifications qui auraient du se passer sur la
feuille 2.
Ceci n'a lieu qu'environ une fois sur 10.
Je suppose que je dois mal gérer le combobox qui me remet parfois sur la
feuille 1.
En pas à pas, le problème ne se produit pas!
J'ai l'impression que le combobox reste sélectionné et cause ce
dysfonctionnement.
Qu'en pensez-vous?
--
Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
Bonsoir Michel, En premier Important éviter d'utiliser la méthode .Selec En 2eme Sheet(2).......si déplacement d'onglet tout plante En 3 Sheets("toto"").....si le copain renomme autrement ...tout plante aussi Utilise donc le CodeName de la feuille...voir dans la fenêtre des projets de l'éditeur exemple retrouve le nom de ton onglet et voir le N°de Feuil1-2-3 ou 4 ou + Et mets le code comme suit avec le bon N° de feuil With Feuil2 'ou moins bienWith sheets(2) ou With sheets("toto") ' et là ton code avec un point en début qui signifie la feuil2 .[A1] = "aaa" End With
Youky (BJ)
"Michel Angelosanto" a écrit dans le message de news: %23E8miN%
Bonjour, Dans l'événement onclick d'un combobox, j'appelle une macro qui est dans un module et modifie des cellules sur une 2e feuille en fonction de la sélection dans le combobox. Dans cette macro, je sélectionne la feuille 2 avant de faire les modifications. Finalement en fin de procédure onclick, je sélectionne la cellule A1 de la feuille 1 pour désactiver le combobox.
Le problème est le suivant: La sélection de la feuille sheets(2).select génère une erreur aléatoire "méthode non gérée par cet objet" En faisant précéder cette ligne par sheets(2).activate, l'erreur n'a plus lieu mais parfois, la feuille 2 n'est pas sélectionnée et la feuille 1 se trouve donc écrasée par les modifications qui auraient du se passer sur la feuille 2. Ceci n'a lieu qu'environ une fois sur 10. Je suppose que je dois mal gérer le combobox qui me remet parfois sur la feuille 1. En pas à pas, le problème ne se produit pas!
J'ai l'impression que le combobox reste sélectionné et cause ce dysfonctionnement.
"Youky (BJ)" a écrit dans le message de news:uqgpfy%
Bonsoir Michel, En premier Important éviter d'utiliser la méthode .Selec En 2eme Sheet(2).......si déplacement d'onglet tout plante En 3 Sheets("toto"").....si le copain renomme autrement ...tout plante aussi Utilise donc le CodeName de la feuille...voir dans la fenêtre des projets de l'éditeur exemple retrouve le nom de ton onglet et voir le N°de Feuil1-2-3 ou 4 ou + Et mets le code comme suit avec le bon N° de feuil With Feuil2 'ou moins bienWith sheets(2) ou With sheets("toto") ' et là ton code avec un point en début qui signifie la feuil2 .[A1] = "aaa" End With
Youky (BJ)
Merci pour ces conseils.
"Youky (BJ)" <nospam.bruno.jeune@wanadoo.fr> a écrit dans le message de
news:uqgpfy%23VJHA.5456@TK2MSFTNGP05.phx.gbl...
Bonsoir Michel,
En premier Important éviter d'utiliser la méthode .Selec
En 2eme Sheet(2).......si déplacement d'onglet tout plante
En 3 Sheets("toto"").....si le copain renomme autrement ...tout plante
aussi
Utilise donc le CodeName de la feuille...voir dans la fenêtre des projets
de l'éditeur
exemple retrouve le nom de ton onglet et voir le N°de Feuil1-2-3 ou 4 ou
+
Et mets le code comme suit avec le bon N° de feuil
With Feuil2
'ou moins bienWith sheets(2) ou With sheets("toto")
' et là ton code avec un point en début qui signifie la feuil2
.[A1] = "aaa"
End With
"Youky (BJ)" a écrit dans le message de news:uqgpfy%
Bonsoir Michel, En premier Important éviter d'utiliser la méthode .Selec En 2eme Sheet(2).......si déplacement d'onglet tout plante En 3 Sheets("toto"").....si le copain renomme autrement ...tout plante aussi Utilise donc le CodeName de la feuille...voir dans la fenêtre des projets de l'éditeur exemple retrouve le nom de ton onglet et voir le N°de Feuil1-2-3 ou 4 ou + Et mets le code comme suit avec le bon N° de feuil With Feuil2 'ou moins bienWith sheets(2) ou With sheets("toto") ' et là ton code avec un point en début qui signifie la feuil2 .[A1] = "aaa" End With