J'ai le bout de code suivant dans une macro VBA :
"
ActiveCell.Offset(0, 1).Select
ActiveCell.Value =3D UserForm3!TextBox1.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value =3D UserForm3!TextBox2.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value =3D UserForm3!TextBox3.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value =3D UserForm3!TextBox4.Value
"
Mon probl=E8me est qu'apr=E9s l'ex=E9cution de la deuxi=E8me ligne
(ActiveCell.Value =3D UserForm3!TextBox1.Value), excel change de feuille
et ActiveCell devient la cellule active dans cette nouvelle feuille.
Le reste du code est ex=E9cut=E9 dans cette nouvelle feuille, ce que je ne
veut pas =E9videmment.
Est que quelqu'un a d=E9j=E0 exp=E9riment=E9 un comportement similaire ?
Ou existe-t'il un moyen de r=E9initialiser un classeur excel ?
(J'ai essayer des copier coller de feuilles et de lignes de code mais
rien n'y fait)...
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
cousinhub
Bonsoir, Peut-être en joignant un exemple sur cjoint.com, on verrait le pourquoi du comment...:-) sinon, as-tu bien déterminé ton activesheet? ton " en début de procédure, Késako? Si tu as sélectionné (d'ailleurs le .Select ne sert pratiquement jamais à rien...) une autre feuille dans le début de ta procédure, c'est normal. ActiveCell ne sert que sur ActiveSheet Par exemple, un petit code, en lançant à partir de la feuille 1 :
Sub essai() Application.ScreenUpdating = False Sheets("feuil2").Activate ActiveCell.Offset(0, 1).Select ActiveCell.Value = 1 Sheets("feuil1").Activate Application.ScreenUpdating = True End Sub
et regarde le résultat ....sur la feuille 2
J'ai le bout de code suivant dans une macro VBA : " ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox1.Value ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox2.Value ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox3.Value ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox4.Value " Mon problème est qu'aprés l'exécution de la deuxième ligne (ActiveCell.Value = UserForm3!TextBox1.Value), excel change de feuille et ActiveCell devient la cellule active dans cette nouvelle feuille. Le reste du code est exécuté dans cette nouvelle feuille, ce que je ne veut pas évidemment. Est que quelqu'un a déjà expérimenté un comportement similaire ? Ou existe-t'il un moyen de réinitialiser un classeur excel ? (J'ai essayer des copier coller de feuilles et de lignes de code mais rien n'y fait)...
Bonsoir,
Peut-être en joignant un exemple sur cjoint.com, on verrait le pourquoi
du comment...:-)
sinon, as-tu bien déterminé ton activesheet?
ton " en début de procédure, Késako?
Si tu as sélectionné (d'ailleurs le .Select ne sert pratiquement jamais
à rien...) une autre feuille dans le début de ta procédure, c'est normal.
ActiveCell ne sert que sur ActiveSheet
Par exemple, un petit code, en lançant à partir de la feuille 1 :
Sub essai()
Application.ScreenUpdating = False
Sheets("feuil2").Activate
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = 1
Sheets("feuil1").Activate
Application.ScreenUpdating = True
End Sub
et regarde le résultat ....sur la feuille 2
J'ai le bout de code suivant dans une macro VBA :
"
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = UserForm3!TextBox1.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = UserForm3!TextBox2.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = UserForm3!TextBox3.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = UserForm3!TextBox4.Value
"
Mon problème est qu'aprés l'exécution de la deuxième ligne
(ActiveCell.Value = UserForm3!TextBox1.Value), excel change de feuille
et ActiveCell devient la cellule active dans cette nouvelle feuille.
Le reste du code est exécuté dans cette nouvelle feuille, ce que je ne
veut pas évidemment.
Est que quelqu'un a déjà expérimenté un comportement similaire ?
Ou existe-t'il un moyen de réinitialiser un classeur excel ?
(J'ai essayer des copier coller de feuilles et de lignes de code mais
rien n'y fait)...
Bonsoir, Peut-être en joignant un exemple sur cjoint.com, on verrait le pourquoi du comment...:-) sinon, as-tu bien déterminé ton activesheet? ton " en début de procédure, Késako? Si tu as sélectionné (d'ailleurs le .Select ne sert pratiquement jamais à rien...) une autre feuille dans le début de ta procédure, c'est normal. ActiveCell ne sert que sur ActiveSheet Par exemple, un petit code, en lançant à partir de la feuille 1 :
Sub essai() Application.ScreenUpdating = False Sheets("feuil2").Activate ActiveCell.Offset(0, 1).Select ActiveCell.Value = 1 Sheets("feuil1").Activate Application.ScreenUpdating = True End Sub
et regarde le résultat ....sur la feuille 2
J'ai le bout de code suivant dans une macro VBA : " ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox1.Value ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox2.Value ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox3.Value ActiveCell.Offset(0, 1).Select ActiveCell.Value = UserForm3!TextBox4.Value " Mon problème est qu'aprés l'exécution de la deuxième ligne (ActiveCell.Value = UserForm3!TextBox1.Value), excel change de feuille et ActiveCell devient la cellule active dans cette nouvelle feuille. Le reste du code est exécuté dans cette nouvelle feuille, ce que je ne veut pas évidemment. Est que quelqu'un a déjà expérimenté un comportement similaire ? Ou existe-t'il un moyen de réinitialiser un classeur excel ? (J'ai essayer des copier coller de feuilles et de lignes de code mais rien n'y fait)...