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

Bugs Excel

1 réponse
Avatar
crôtul
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)...

1 réponse

Avatar
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)...