Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

largeur colonne automatique lors d'une saisie

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 !

mumuriton

XLDnaute Occasionnel
Bonjour,

Je ne m'y connais pas en VBA alors je cherche une formule (je n'ai pas trouvé sur le site et cela depuis 3 jours que je cherche 😕), en espérant que quelqu'un pourra m'aider.


Dans le fichier joint, sur tous les onglets (sauf "répartition transport", "ca prévisionnel" et "liste), je voudrais que lorsque l'on saisisse une donnée dans une cellule, la colonne s'ajuste automatiquement à la largeur de la saisie. De même, quand cette saisie est annulée, la colonne s'ajuste automatiquement au minimum.

Merci de votre aide.😉

murielle
 

Pièces jointes

Re : largeur colonne automatique lors d'une saisie

Bonjour,

a coller dans chaque feuille depuis l'éditeur VBA (Alt + F11)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 colonne = Target.Column  ' colonne dans laquelle on vient d'effectuer une saisie
 Columns(colonne).EntireColumn.AutoFit  'réglage de la largeur de la colonne
 End Sub

source:
ajustement automatique+excel - Bureautique - LOGICIELS - FORUM high-tech


Cordialement,
 
Re : largeur colonne automatique lors d'une saisie

Bonjour Mumuriton, bonjour le forum,

Essaie avec ce code à placer dans le composant ThisWorkbook :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Sh.Name
    Case "REPARTITION TRANSPORT", "CA PREVISIONNEL", "LISTE"
    Case Else
        Sh.Columns(Target.Column).AutoFit
End Select
End Sub

[Édition]
Bonjour A4L9 on s'est croisé...
 
Dernière édition:
Re : largeur colonne automatique lors d'une saisie

Bonjour à vous deux,

A4L9, cela fonctionne malheureusement, il y a des colonnes qui se remplissent automatiquement avec des résultats et celles ci ne s'ajuste pas automatiquement. As tu une idée? Merci😕


Robert, ta formule ne fonctionne pas, merci quand même.🙄

Murielle
 
Re : largeur colonne automatique lors d'une saisie

Bonjour Robert,

mumuriton, j'ai essayé la macro de Robert et elle fonctionne chez moi... l'a tu bien placée dans This Workbook?

La macro s'exécute lors d'un changement de cellule (et donc un clic) en raison de la propriété "change", et concerne la colonne de la cellule modifiée.

essaye le code suivant toujours dans This Workbook

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
For Each Sh In ActiveWorkbook.Sheets
Sh.Cells.EntireColumn.AutoFit
Next
End Sub

source: Réglage largeur des colonnes dans une macro : Forum Excel
 
Re : largeur colonne automatique lors d'une saisie

re A4L9,

il y a peut être une manip à faire en plus, comme indiquer, malheureusement, je ne m'y connais pas en vba.

la proposition que tu me fais sur le nouveau code, faut il que j'enlève tous les autres codes sur les autres onglets (comme tu me l'avez indiquez) et mettre uniquement celui là?

murielle
 
Re : largeur colonne automatique lors d'une saisie

re,

oui effacez tous les autres pour s'assurer que le code étudié est bien celui-ci.

Votre classeur est bien au format xlsm? sinon l'enregistrer sous avec l'extension "xlsm".
 
Re : largeur colonne automatique lors d'une saisie

re,

C'est bon merci bcp.

Je me suis aperçue que sur certains onglets (comme prévision de transport), j'ai les titres qui sont sur deux colonnes, et donc avec la formule, elles ne sont plus ajustées, car la formule s'adapte dans tous les cellules sans pouvoir faire d'exception.

As tu une idée? Si non, ce n'est pas grave.

Merci bcp pour ton aide précieuse.🙄

Murielle
 
Re : largeur colonne automatique lors d'une saisie

Bonjour, mumuriton, A4L9, Robert 🙂, le Forum,

Une autre suggestion, en pièce jointe, avec ce code :

Code:
Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal o As Object, ByVal Target As Range)
    If o.Name <> "REPARTITION TRANSPORT" Or o.Name <> "CA PREVISIONNEL" _
       Or o.Name <> "LISTE" Then Cells.EntireColumn.AutoFit
End Sub

A bientôt 🙂
 

Pièces jointes

Re : largeur colonne automatique lors d'une saisie

bonjour DoubleZero,

par curiosité, j'ai essayé ton code, il fonctionne parfaitement sur tous les onglets y compris ceux qu'il ne devrait pas toucher.

Pareil dans ton fichier joint.

Merci quand même

murielle
 
Re : largeur colonne automatique lors d'une saisie

Re-bonjour,

... j'ai essayé ton code, il fonctionne parfaitement sur tous les onglets y compris ceux qu'il ne devrait pas toucher...

Oui 😱, mumuriton.

Remplacer le précédent code par celui-ci :

Code:
Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal o As Object, ByVal Target As Range)
    If o.Name <> "REPARTITION TRANSPORT" And o.Name <> "CA PREVISIONNEL" _
       And o.Name <> "LISTE" Then Cells.EntireColumn.AutoFit
End Sub

A bientôt 🙂
 
- 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

Discussions similaires

Réponses
3
Affichages
736
Réponses
5
Affichages
821
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…