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

comment réactiver automatiquement la feuille en cours après affichage d'un userform

13 réponses
Avatar
TILLOUX
Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un listbox.Le
vbmodeless permet à la procédure de continuer son exécution donc de faire
le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en
cours ne l'a plus. Par coséquent, je ne peux rien saisir en direct dans la
cells(3,2). Il faut aller cliquer dedans pour que la feuille redevienne
active.

Comment redonner la main à la feuille après le Tableau.show par une
instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne marche.
Le userform reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.

10 réponses

1 2
Avatar
IMER09
Si j'ai bien compris tu voudrais pouvoir intervenir sur ta feuille tout en
ayant ton UF ouvert
Si c'est le cas as tu regardé ShowModal (ds proprieté du UF) le mettre a
"False"

Rémi

"TILLOUX" a écrit dans le message de news:

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un
listbox.Le vbmodeless permet à la procédure de continuer son exécution
donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en
cours ne l'a plus. Par coséquent, je ne peux rien saisir en direct dans la
cells(3,2). Il faut aller cliquer dedans pour que la feuille redevienne
active.

Comment redonner la main à la feuille après le Tableau.show par une
instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne
marche. Le userform reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.



Avatar
michdenis
Voici une façon de faire :

Dans le haut d'un module standard, tu déclares
L'API suivant :
'----------------------------------
Private Declare Function BringWindowToTop _
Lib "user32" (ByVal hwnd As Long) As Long
'----------------------------------

Ta procédure d'appel devrait ressembler à ceci :
'-------------------------------
Sub test()
UserForm1.Show 0
Activer_Application_Excel
Range("A1").Select
End Sub
'-------------------------------

Un petit bout de code qui va rendre active la feuille.(excel)
'---------------------------------
Sub Activer_Application_Excel()
Dim Ret, myhnd As Long
myhnd = Application.hwnd
BringWindowToTop myhnd
End Sub
'---------------------------------





"TILLOUX" a écrit dans le message de groupe de discussion :

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un listbox.Le
vbmodeless permet à la procédure de continuer son exécution donc de faire
le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en
cours ne l'a plus. Par coséquent, je ne peux rien saisir en direct dans la
cells(3,2). Il faut aller cliquer dedans pour que la feuille redevienne
active.

Comment redonner la main à la feuille après le Tableau.show par une
instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne marche.
Le userform reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.
Avatar
garnote
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:
Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un listbox.Le vbmodeless permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en cours ne l'a plus. Par coséquent, je ne peux rien
saisir en direct dans la cells(3,2). Il faut aller cliquer dedans pour que la feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne marche. Le userform reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.



Avatar
garnote
Et un peu de bricolage :

Sub Truc()
'...
'...
Set forme = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, 10, 10, 10, 10)
Tableau.Show vbModeless
forme.Select
forme.Delete
Cells(3, 2).Select
End Sub


Serge


"garnote" a écrit dans le message de news: O0T%
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:
Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un listbox.Le vbmodeless permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en cours ne l'a plus. Par coséquent, je ne peux
rien saisir en direct dans la cells(3,2). Il faut aller cliquer dedans pour que la feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne marche. Le userform reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.







Avatar
michdenis
tu as bien raison, pourquoi faire long, lorsque l'on peut faire court

Sub Truc()
With ActiveSheet.Shapes
With .AddShape(msoShapeRectangle, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete
End With
End With
Range("B3").Select
End Sub

;-))



"garnote" a écrit dans le message de groupe de discussion :

Et un peu de bricolage :

Sub Truc()
'...
'...
Set forme = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, 10, 10, 10, 10)
Tableau.Show vbModeless
forme.Select
forme.Delete
Cells(3, 2).Select
End Sub


Serge


"garnote" a écrit dans le message de news:
O0T%
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un listbox.Le vbmodeless
permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en cours ne l'a
plus. Par coséquent, je ne peux
rien saisir en direct dans la cells(3,2). Il faut aller cliquer dedans pour que la
feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne marche. Le userform
reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.







Avatar
garnote
Et tant qu'à faire :

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete: [A1].Select
End With
End Sub

;-)


"michdenis" a écrit dans le message de news:
tu as bien raison, pourquoi faire long, lorsque l'on peut faire court

Sub Truc()
With ActiveSheet.Shapes
With .AddShape(msoShapeRectangle, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete
End With
End With
Range("B3").Select
End Sub

;-))



"garnote" a écrit dans le message de groupe de discussion :

Et un peu de bricolage :

Sub Truc()
'...
'...
Set forme = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, 10, 10, 10, 10)
Tableau.Show vbModeless
forme.Select
forme.Delete
Cells(3, 2).Select
End Sub


Serge


"garnote" a écrit dans le message de news:
O0T%
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un listbox.Le vbmodeless
permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en cours ne l'a
plus. Par coséquent, je ne peux
rien saisir en direct dans la cells(3,2). Il faut aller cliquer dedans pour que la
feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne marche. Le userform
reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.










Avatar
michdenis
Tu peux mettre presque tout sur la même ligne :

Cette sub à 2 lignes : mais là, cela ne fonctionne plus
Trouve un autre truc ! ;-))

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule(): With
ActiveSheet.Shapes.AddShape(msoShapeSun, 10, 10, 10, 10): UserForm1.Show 0: .Select:
.Delete: [A1].Select: End With
End Sub




"garnote" a écrit dans le message de groupe de discussion :
eolM2K#
Et tant qu'à faire :

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete: [A1].Select
End With
End Sub

;-)


"michdenis" a écrit dans le message de news:

tu as bien raison, pourquoi faire long, lorsque l'on peut faire court

Sub Truc()
With ActiveSheet.Shapes
With .AddShape(msoShapeRectangle, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete
End With
End With
Range("B3").Select
End Sub

;-))



"garnote" a écrit dans le message de groupe de discussion :

Et un peu de bricolage :

Sub Truc()
'...
'...
Set forme = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, 10, 10, 10, 10)
Tableau.Show vbModeless
forme.Select
forme.Delete
Cells(3, 2).Select
End Sub


Serge


"garnote" a écrit dans le message de news:
O0T%
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un listbox.Le
vbmodeless
permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille en cours ne l'a
plus. Par coséquent, je ne peux
rien saisir en direct dans la cells(3,2). Il faut aller cliquer dedans pour que la
feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne marche. Le
userform
reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.










Avatar
TILLOUX
La fonction Activer_Application_Excel marche très bien.

En revanche, le coup de la forme qu'on affiche, puis qu'on sélectionne et
efface ne marche pas chez moi.
C'est curieux car ça marche dans une exécution pas à pas (F8) mais pas en
exécution normale. Le Userform garde la main.

Si quelqu'un a une idée, elle sera la bienvenue.

Merci à tous

Tilloux

"michdenis" a écrit dans le message de news:

Tu peux mettre presque tout sur la même ligne :

Cette sub à 2 lignes : mais là, cela ne fonctionne plus
Trouve un autre truc ! ;-))

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule(): With
ActiveSheet.Shapes.AddShape(msoShapeSun, 10, 10, 10, 10): UserForm1.Show
0: .Select:
.Delete: [A1].Select: End With
End Sub




"garnote" a écrit dans le message de groupe de
discussion :
eolM2K#
Et tant qu'à faire :

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete: [A1].Select
End With
End Sub

;-)


"michdenis" a écrit dans le message de news:

tu as bien raison, pourquoi faire long, lorsque l'on peut faire court

Sub Truc()
With ActiveSheet.Shapes
With .AddShape(msoShapeRectangle, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete
End With
End With
Range("B3").Select
End Sub

;-))



"garnote" a écrit dans le message de groupe
de discussion :

Et un peu de bricolage :

Sub Truc()
'...
'...
Set forme = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, 10, 10, 10, 10)
Tableau.Show vbModeless
forme.Select
forme.Delete
Cells(3, 2).Select
End Sub


Serge


"garnote" a écrit dans le message de news:
O0T%
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un
listbox.Le
vbmodeless
permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille
en cours ne l'a
plus. Par coséquent, je ne peux
rien saisir en direct dans la cells(3,2). Il faut aller cliquer dedans
pour que la
feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une
instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne
marche. Le
userform
reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.













Avatar
michdenis
| C'est curieux car ça marche dans une exécution pas à pas (F8) mais pas en
| exécution normale. Le Userform garde la main.

Cette procédure fonctionne sous Excel 2007,
mais ne donne pas le résultat escompté
sous Excel 2003, après test. Pour ce qui
est des autres versions d'excel je n'en sais rien !

Procédure testée :
Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete: [A1].Select
End With
End Sub




"TILLOUX" a écrit dans le message de groupe de discussion :
#
La fonction Activer_Application_Excel marche très bien.

En revanche, le coup de la forme qu'on affiche, puis qu'on sélectionne et
efface ne marche pas chez moi.
C'est curieux car ça marche dans une exécution pas à pas (F8) mais pas en
exécution normale. Le Userform garde la main.

Si quelqu'un a une idée, elle sera la bienvenue.

Merci à tous

Tilloux

"michdenis" a écrit dans le message de news:

Tu peux mettre presque tout sur la même ligne :

Cette sub à 2 lignes : mais là, cela ne fonctionne plus
Trouve un autre truc ! ;-))

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule(): With
ActiveSheet.Shapes.AddShape(msoShapeSun, 10, 10, 10, 10): UserForm1.Show
0: .Select:
.Delete: [A1].Select: End With
End Sub




"garnote" a écrit dans le message de groupe de
discussion :
eolM2K#
Et tant qu'à faire :

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete: [A1].Select
End With
End Sub

;-)


"michdenis" a écrit dans le message de news:

tu as bien raison, pourquoi faire long, lorsque l'on peut faire court

Sub Truc()
With ActiveSheet.Shapes
With .AddShape(msoShapeRectangle, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete
End With
End With
Range("B3").Select
End Sub

;-))



"garnote" a écrit dans le message de groupe
de discussion :

Et un peu de bricolage :

Sub Truc()
'...
'...
Set forme = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, 10, 10, 10, 10)
Tableau.Show vbModeless
forme.Select
forme.Delete
Cells(3, 2).Select
End Sub


Serge


"garnote" a écrit dans le message de news:
O0T%
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un
listbox.Le
vbmodeless
permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille
en cours ne l'a
plus. Par coséquent, je ne peux
rien saisir en direct dans la cells(3,2). Il faut aller cliquer dedans
pour que la
feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une
instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne
marche. Le
userform
reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.













Avatar
TILLOUX
Effectivement, j'ai Excel 2003 d'où le non fonctionnement. Mais le problème
est réglé avec ta fonction Activer_application_excel.

Le 7.1, j'ai posté une question relative aux commentaires qui ne passent pas
avec un fichier partagé. Il se peut qu'avec Excel 2007 le problème soit
résolu.

Peux-tu regarder cette question et tester chez toi ?

Merci d'avance.

Tilloux.
"michdenis" a écrit dans le message de news:

| C'est curieux car ça marche dans une exécution pas à pas (F8) mais pas en
| exécution normale. Le Userform garde la main.

Cette procédure fonctionne sous Excel 2007,
mais ne donne pas le résultat escompté
sous Excel 2003, après test. Pour ce qui
est des autres versions d'excel je n'en sais rien !

Procédure testée :
Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete: [A1].Select
End With
End Sub




"TILLOUX" a écrit dans le message de groupe de
discussion :
#
La fonction Activer_Application_Excel marche très bien.

En revanche, le coup de la forme qu'on affiche, puis qu'on sélectionne et
efface ne marche pas chez moi.
C'est curieux car ça marche dans une exécution pas à pas (F8) mais pas en
exécution normale. Le Userform garde la main.

Si quelqu'un a une idée, elle sera la bienvenue.

Merci à tous

Tilloux

"michdenis" a écrit dans le message de news:

Tu peux mettre presque tout sur la même ligne :

Cette sub à 2 lignes : mais là, cela ne fonctionne plus
Trouve un autre truc ! ;-))

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule(): With
ActiveSheet.Shapes.AddShape(msoShapeSun, 10, 10, 10, 10): UserForm1.Show
0: .Select:
.Delete: [A1].Select: End With
End Sub




"garnote" a écrit dans le message de groupe
de
discussion :
eolM2K#
Et tant qu'à faire :

Sub Affice_UserForm_Et_Permet_Entrée_Directe_Dans_Une_Cellule()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete: [A1].Select
End With
End Sub

;-)


"michdenis" a écrit dans le message de news:

tu as bien raison, pourquoi faire long, lorsque l'on peut faire court

Sub Truc()
With ActiveSheet.Shapes
With .AddShape(msoShapeRectangle, 1, 1, 1, 1)
UserForm1.Show 0: .Select: .Delete
End With
End With
Range("B3").Select
End Sub

;-))



"garnote" a écrit dans le message de groupe
de discussion :

Et un peu de bricolage :

Sub Truc()
'...
'...
Set forme = ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, 10, 10, 10, 10)
Tableau.Show vbModeless
forme.Select
forme.Delete
Cells(3, 2).Select
End Sub


Serge


"garnote" a écrit dans le message de news:
O0T%
Bonjour,

Voudrais bien savoir aussi ;-)

Viens de constater que si la feuille active contient une forme nommée
«rectangle», alors on obtient ce que tu veux avec cette macro :

Sub Piste()
Tableau.Show vbModeless
ActiveSheet.Shapes("rectangle").Select
Cells(3, 2).Select
End Sub

Il y a sûrement quelque chose de plus intelligent à faire !

Serge










"TILLOUX" a écrit dans le message de news:

Bonjour,

Voici la fin du code d'une procédure VBA que j'ai écrite:
..
..
Tableau.show vbmodeless
cells(3,2).select
end sub

Tableau.show vbmodeless ouvre le userform Tableau qui contient un
listbox.Le
vbmodeless
permet à la procédure de continuer
son exécution donc de faire le cells(3,2) .select

En fait le userform garde la min (bandeau allumé) alors que la feuille
en cours ne l'a
plus. Par coséquent, je ne peux
rien saisir en direct dans la cells(3,2). Il faut aller cliquer dedans
pour que la
feuille redevienne active.

Comment redonner la main à la feuille après le Tableau.show par une
instruction ?

J'ai essayé Activesheet.select, thisworkbook.activate mais rien ne
marche. Le
userform
reste actif.

Quelqu'un a-t-il une idée ?

Merci d'avance.
















1 2