J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit
toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate
un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois
la feuille qui est en traitement.
En prenant comme modèle le code ci dessous, je comprend bien qu'il active la
Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas
une solution pour figer la feuille de fond Feuil4 ?
Merci de votre aide
David
Private Sub UserForm_Initialize()
Feuil4.Activate
Feuil2.Select
If Feuil2.AutoFilterMode = True Then
Selection.AutoFilter
Range([A1], [J65000].End(xlUp)).AutoFilter
Else
Trier
IniObjet
End If
Bonjour. "Feuil2.Select" est l'équivalent de Feuil2.Activate. Donc tu les actives d'abord Feuil4, puis Feuil2. J'ai repris en le modifiant une partie du code du dernier classeur :
Private Sub UserForm_Initialize() ScreenUpdating = True CmbNouvelle_Click Feuil4.Activate If Feuil2.AutoFilterMode = True Then
J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois la feuille qui est en traitement. En prenant comme modèle le code ci dessous, je comprend bien qu'il active la Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas une solution pour figer la feuille de fond Feuil4 ?
Merci de votre aide David
Private Sub UserForm_Initialize() Feuil4.Activate
Feuil2.Select If Feuil2.AutoFilterMode = True Then Selection.AutoFilter Range([A1], [J65000].End(xlUp)).AutoFilter Else Trier IniObjet End If
Feuil4.Activate End Sub
Bonjour.
"Feuil2.Select" est l'équivalent de Feuil2.Activate. Donc tu les
actives d'abord Feuil4, puis Feuil2. J'ai repris en le modifiant une
partie du code du dernier classeur :
Private Sub UserForm_Initialize()
ScreenUpdating = True
CmbNouvelle_Click
Feuil4.Activate
If Feuil2.AutoFilterMode = True Then
J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit
toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate
un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois
la feuille qui est en traitement.
En prenant comme modèle le code ci dessous, je comprend bien qu'il active la
Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas une
solution pour figer la feuille de fond Feuil4 ?
Merci de votre aide
David
Private Sub UserForm_Initialize()
Feuil4.Activate
Feuil2.Select
If Feuil2.AutoFilterMode = True Then
Selection.AutoFilter
Range([A1], [J65000].End(xlUp)).AutoFilter
Else
Trier
IniObjet
End If
Bonjour. "Feuil2.Select" est l'équivalent de Feuil2.Activate. Donc tu les actives d'abord Feuil4, puis Feuil2. J'ai repris en le modifiant une partie du code du dernier classeur :
Private Sub UserForm_Initialize() ScreenUpdating = True CmbNouvelle_Click Feuil4.Activate If Feuil2.AutoFilterMode = True Then
J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois la feuille qui est en traitement. En prenant comme modèle le code ci dessous, je comprend bien qu'il active la Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas une solution pour figer la feuille de fond Feuil4 ?
Merci de votre aide David
Private Sub UserForm_Initialize() Feuil4.Activate
Feuil2.Select If Feuil2.AutoFilterMode = True Then Selection.AutoFilter Range([A1], [J65000].End(xlUp)).AutoFilter Else Trier IniObjet End If
Feuil4.Activate End Sub
DT
Merci Daniel
Pas sûre d"avoir bien tout compris !
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de code mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété ScreenUpdating à la fin de la macro
Donc ?
Merci de ton aide
David
Merci Daniel
Pas sûre d"avoir bien tout compris !
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de
code mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété
ScreenUpdating à la fin de la macro
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de code mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété ScreenUpdating à la fin de la macro
Donc ?
Merci de ton aide
David
Daniel.C
Oups. C'est "ScreenUpdating = False qu'il faut mettre. Il faut le mettre au début de chaque macro ou du moins celles qui affichent des feuilles. Daniel
Merci Daniel
Pas sûre d"avoir bien tout compris !
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de code mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété ScreenUpdating à la fin de la macro
Donc ?
Merci de ton aide
David
Oups.
C'est "ScreenUpdating = False qu'il faut mettre. Il faut le mettre au
début de chaque macro ou du moins celles qui affichent des feuilles.
Daniel
Merci Daniel
Pas sûre d"avoir bien tout compris !
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de code
mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété
ScreenUpdating à la fin de la macro
Oups. C'est "ScreenUpdating = False qu'il faut mettre. Il faut le mettre au début de chaque macro ou du moins celles qui affichent des feuilles. Daniel
Merci Daniel
Pas sûre d"avoir bien tout compris !
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de code mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété ScreenUpdating à la fin de la macro
Donc ?
Merci de ton aide
David
Daniel.C
et la valeur "True" est réinitialisée automatiquement en fin de macro. Daniel
Merci Daniel
Pas sûre d"avoir bien tout compris !
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de code mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété ScreenUpdating à la fin de la macro
Donc ?
Merci de ton aide
David
et la valeur "True" est réinitialisée automatiquement en fin de macro.
Daniel
Merci Daniel
Pas sûre d"avoir bien tout compris !
Donc il faut mettre "ScreenUpdating = True" au début de chaque partie de code
mon projet ? ou seulement dans le "UserForm_Initialize"
A la lecture de l'aide de ScreenUpdating :
N'oubliez pas d'affecter de nouveau la valeur True à la propriété
ScreenUpdating à la fin de la macro
Après pas mal d'essai, je constate aucune différence !!
On se passera de l'esthétique !!!
Merci
Cordialement David
michdenis
| et la valeur "True" est réinitialisée automatiquement en fin de macro.
Bonjour Daniel,
Ton énoncé est vrai sur toutes les versions antérieures à 2007. Mais avec Excel 2007, il faut remettre à true. C'est du moins l'observation que je fais dans mon environnement. Application.ScreenUpdating = True
Pour observer le phénomène, je te suggère de tester la proposition que j'ai faite à la question en tenant compte de la tienne : Re: Comment classer automatiquement les onglets d'un fichier XLS (dernière aujourd'hui) Tu places les procédures dans un module standard et celle-ci dans le ThisWorkbook du classeur. Maintenant, insère une nouvelle feuille ! '---------------------------------- Private Sub Workbook_NewSheet(ByVal Sh As Object) TriFeuilles End Sub '----------------------------------
Qu'obtiens-tu comme résultat si tu ne passes pas l'affichage à true ?
Merci pour ta participation.
| et la valeur "True" est réinitialisée automatiquement en fin de macro.
Bonjour Daniel,
Ton énoncé est vrai sur toutes les versions antérieures à 2007.
Mais avec Excel 2007, il faut remettre à true. C'est du moins
l'observation que je fais dans mon environnement.
Application.ScreenUpdating = True
Pour observer le phénomène, je te suggère de tester la
proposition que j'ai faite à la question en tenant compte
de la tienne :
Re: Comment classer automatiquement les onglets d'un fichier XLS
(dernière aujourd'hui)
Tu places les procédures dans un module standard et
celle-ci dans le ThisWorkbook du classeur.
Maintenant, insère une nouvelle feuille !
'----------------------------------
Private Sub Workbook_NewSheet(ByVal Sh As Object)
TriFeuilles
End Sub
'----------------------------------
Qu'obtiens-tu comme résultat si tu ne passes pas l'affichage à true ?
| et la valeur "True" est réinitialisée automatiquement en fin de macro.
Bonjour Daniel,
Ton énoncé est vrai sur toutes les versions antérieures à 2007. Mais avec Excel 2007, il faut remettre à true. C'est du moins l'observation que je fais dans mon environnement. Application.ScreenUpdating = True
Pour observer le phénomène, je te suggère de tester la proposition que j'ai faite à la question en tenant compte de la tienne : Re: Comment classer automatiquement les onglets d'un fichier XLS (dernière aujourd'hui) Tu places les procédures dans un module standard et celle-ci dans le ThisWorkbook du classeur. Maintenant, insère une nouvelle feuille ! '---------------------------------- Private Sub Workbook_NewSheet(ByVal Sh As Object) TriFeuilles End Sub '----------------------------------
Qu'obtiens-tu comme résultat si tu ne passes pas l'affichage à true ?
Merci pour ta participation.
michdenis
Bonjour,
Essaie de cette façon ;
Dans les procédures "Trier" et "IniObjet", si tu sélectionnes des feuilles, la feuil4 ne demeurera pas active. Observe, il y a moyen de travailler avec les cellules d'une feuille sans pour autant sélectionner la feuille ou la plage de cellules. Apprendre à travailler avec With ... et End With, c'est un "MUST" en vba... ! Dernier commentaire, tu ne dois pas t'amuser à mettre un peu partout des Application.ScreenUpdating = True ou False, bien que la feuille active ne changera pas, cela fera "sautiller" celle à l'écran légèrement.
'-------------------------------- Private Sub UserForm_Initialize() Application.ScreenUpdating = True Feuil4.Activate With Feuil2 If .AutoFilterMode = True Then With .Range(.[A1], .[J65000].End(xlUp)).AutoFilter Else Trier IniObjet End If End With End Sub '--------------------------------
"DT" a écrit dans le message de groupe de discussion :
Bonjour
J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois la feuille qui est en traitement. En prenant comme modèle le code ci dessous, je comprend bien qu'il active la Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas une solution pour figer la feuille de fond Feuil4 ?
Merci de votre aide David
Private Sub UserForm_Initialize() Feuil4.Activate
Feuil2.Select If Feuil2.AutoFilterMode = True Then Selection.AutoFilter Range([A1], [J65000].End(xlUp)).AutoFilter Else Trier IniObjet End If
Feuil4.Activate End Sub
Bonjour,
Essaie de cette façon ;
Dans les procédures "Trier" et "IniObjet", si tu sélectionnes
des feuilles, la feuil4 ne demeurera pas active.
Observe, il y a moyen de travailler avec les cellules d'une feuille
sans pour autant sélectionner la feuille ou la plage de cellules.
Apprendre à travailler avec With ... et End With, c'est un "MUST"
en vba... !
Dernier commentaire, tu ne dois pas t'amuser à mettre un peu
partout des Application.ScreenUpdating = True ou False, bien
que la feuille active ne changera pas, cela fera "sautiller" celle
à l'écran légèrement.
'--------------------------------
Private Sub UserForm_Initialize()
Application.ScreenUpdating = True
Feuil4.Activate
With Feuil2
If .AutoFilterMode = True Then
With .Range(.[A1], .[J65000].End(xlUp)).AutoFilter
Else
Trier
IniObjet
End If
End With
End Sub
'--------------------------------
"DT" <direction-ternoise@wanadoo.fr> a écrit dans le message de groupe de discussion :
uclG8pcoKHA.1544@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit
toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate
un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois
la feuille qui est en traitement.
En prenant comme modèle le code ci dessous, je comprend bien qu'il active la
Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas
une solution pour figer la feuille de fond Feuil4 ?
Merci de votre aide
David
Private Sub UserForm_Initialize()
Feuil4.Activate
Feuil2.Select
If Feuil2.AutoFilterMode = True Then
Selection.AutoFilter
Range([A1], [J65000].End(xlUp)).AutoFilter
Else
Trier
IniObjet
End If
Dans les procédures "Trier" et "IniObjet", si tu sélectionnes des feuilles, la feuil4 ne demeurera pas active. Observe, il y a moyen de travailler avec les cellules d'une feuille sans pour autant sélectionner la feuille ou la plage de cellules. Apprendre à travailler avec With ... et End With, c'est un "MUST" en vba... ! Dernier commentaire, tu ne dois pas t'amuser à mettre un peu partout des Application.ScreenUpdating = True ou False, bien que la feuille active ne changera pas, cela fera "sautiller" celle à l'écran légèrement.
'-------------------------------- Private Sub UserForm_Initialize() Application.ScreenUpdating = True Feuil4.Activate With Feuil2 If .AutoFilterMode = True Then With .Range(.[A1], .[J65000].End(xlUp)).AutoFilter Else Trier IniObjet End If End With End Sub '--------------------------------
"DT" a écrit dans le message de groupe de discussion :
Bonjour
J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois la feuille qui est en traitement. En prenant comme modèle le code ci dessous, je comprend bien qu'il active la Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas une solution pour figer la feuille de fond Feuil4 ?
Merci de votre aide David
Private Sub UserForm_Initialize() Feuil4.Activate
Feuil2.Select If Feuil2.AutoFilterMode = True Then Selection.AutoFilter Range([A1], [J65000].End(xlUp)).AutoFilter Else Trier IniObjet End If
Feuil4.Activate End Sub
DT
A nouveau merci beaucoup pour tes conseils.
Je vais essayer
Sinon, le With de "With .Range(.[A1], .[J65000].End(xlUp)).AutoFilter" n'est pas de trop ??
Cordialement
David
A nouveau merci beaucoup pour tes conseils.
Je vais essayer
Sinon, le With de "With .Range(.[A1], .[J65000].End(xlUp)).AutoFilter" n'est
pas de trop ??