ajustement automatique colonne sur une sélection de feuilles

  • Initiateur de la discussion Initiateur de la discussion yaumcoco
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Y

yaumcoco

Guest
Bonjour,
mon classeur excel possède 6 onglets. Je souhaite executer un ajustement automatique des colonnes suivant le texte dans une cellule, dans les feuilles 1 à 3 seulement.
J'ai trouvé ci dessous en naviguant un code vba pour executer cette fonction. Cela fonctionne mais mon problème c'est que cela s'exécute sur l'ensemble des onglets.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call AjusterColonnes
End Sub

Sub AjusterColonnes()
For Each sh In ActiveWorkbook.Sheets
sh.Cells.EntireColumn.AutoFit
Next
End Sub

J'ai ensuite bidouillé un code mais j'ai un message d'erreur 424 qui apparait sur la ligne "sh.Cells.EntireColumn.AutoFit".

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call AjusterColonnes
End Sub

Sub AjusterColonnes()
For i = 1 To 3
Sheets(i).Select
sh.Cells.EntireColumn.AutoFit
Next
End Sub


Sachant que je ne comprends pas vraiment le language macro (cause débutant), si quequ'un pouvait m'apporter son aide je l'en remercie par avance
Cordialement
yaumcoco
 
Re : ajustement automatique colonne sur une sélection de feuilles

Merci pierrot. donc maintenant j'ai le bon code !!! pour que cela fonctionne, voila ce que j'ai fait : j'ai collé le code dans chaque feuille (en mode vba). Je ne sais pas si c'est la bonne démarche.

J'ai un autre problème, dés que je sélectionne une cellule (n'importe ou dans mon classeur), je me retrouve automatiquement sur la feuille 3 !!!!

Est ce que c'est réglable ?

Merci d'avance
 
Re : ajustement automatique colonne sur une sélection de feuilles

ça donne ça :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call AjusterColonnes
End Sub


Sub AjusterColonnes()
For i = 1 To 3
Sheets(i).Select
Sheets(i).Columns.AutoFit
Next i
End Sub
 
Re : ajustement automatique colonne sur une sélection de feuilles

Re,

peut être la lancer dans l'événement "change" des feuilles en question... compliqué, non, tu peux aussi placer le code ci-dessous dans le module "thisworkbook" :

Code:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> "NomOnglet" Then Target.Columns.AutoFit
End Sub
 
Re : ajustement automatique colonne sur une sélection de feuilles

désolé mais je ne comprends pas tout :

- le code dans le thisworkbook doit il remplacer le code suivant que j'ai sur chaque feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call AjusterColonnes
End Sub

- dois je ecrire 3 fois le code pour chaque onglet en remplissant à chaque fois le "nomonglet" ?
 
Re : ajustement automatique colonne sur une sélection de feuilles

Re,

- le code dans le thisworkbook doit il remplacer le code suivant que j'ai sur chaque feuille :

oui tout à fait... tu as combien de feuilles dans ton classeur ?
pour que cela s'applique aux 3 premières :
Code:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Index < 4 Then Target.Columns.AutoFit
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour