Autofit Colonnes feuille Automatiquement

Le
Christophe
Re-Bonjour:

Excel 2007

Je souhaiterais que les colonnes d'une feuille sur un range (C:IB")
s'ajuste automatiquement en fonction de leur contenu idealement chaque
fois qu'une nouvelle donnée est entrée dans une cellule.

J'ai pensé utilisé la Private Sub suivante mais a priori cela ne
fonctionne pas y compris lorsque je quitte la feuille et y retourne;

Private Sub AutofitCountryAppointments()

Columns("C:IB").Select
Columns("C:IB").EntireColumn.Autofit

End Sub

Merci.

Christophe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo P.
Le #22451901
Bonjour Christophe

À placer dans le code de la feuille utilisée

Private Sub Worksheet_Change(ByVal Target As Range)
Columns("C:IB").EntireColumn.AutoFit
End Sub

"Christophe"
Re-Bonjour:

Excel 2007

Je souhaiterais que les colonnes d'une feuille sur un range (C:IB")
s'ajuste automatiquement en fonction de leur contenu idealement chaque
fois qu'une nouvelle donnée est entrée dans une cellule.

J'ai pensé utilisé la Private Sub suivante mais a priori cela ne
fonctionne pas y compris lorsque je quitte la feuille et y retourne;

Private Sub AutofitCountryAppointments()

Columns("C:IB").Select
Columns("C:IB").EntireColumn.Autofit

End Sub

Merci.

Christophe
Christophe
Le #22452781
Bonjour:

Merci Fredo. Malheureusement,il ne se passe rien. les colonnes ne
s'ajustent pas en fonction du contenu.

Christophe
isabelle
Le #22452891
bonjour Christophe,

Range("C:IB").EntireColumn.AutoFit

isabelle

Le 2010-08-08 07:31, Christophe a écrit :
Bonjour:

Merci Fredo. Malheureusement,il ne se passe rien. les colonnes ne
s'ajustent pas en fonction du contenu.

Christophe
Fredo P.
Le #22452991
Bizarre, chez moi pas de pb, peut être la version Xl? !
Chère Isabelle, que je salue, a sans aucun doute, vues ses compétences, le
dernier bon mot.

"Christophe"
Bonjour:

Merci Fredo. Malheureusement,il ne se passe rien. les colonnes ne
s'ajustent pas en fonction du contenu.

Christophe



Private Sub Worksheet_Change(ByVal Target As Range)
Range("C:IB").EntireColumn.AutoFit
End Sub
isabelle
Le #22453001
bonjour Fredo,

normalement les deux devraient fonctionner correctement,
je soupçonne une feuille protégée ou bien le focus sur un objet autre que range...
peut être aussi un "On Error Resume Next" dans la procedure, qui cacherait l'erreur.
Christophe pourra nous en dire plus,

@--
isabelle

Le 2010-08-08 09:55, Fredo P. a écrit :
Bizarre, chez moi pas de pb, peut être la version Xl? !
Chère Isabelle, que je salue, a sans aucun doute, vues ses compétences,
le dernier bon mot.

"Christophe"
Bonjour:

Merci Fredo. Malheureusement,il ne se passe rien. les colonnes ne
s'ajustent pas en fonction du contenu.

Christophe



Private Sub Worksheet_Change(ByVal Target As Range)
Range("C:IB").EntireColumn.AutoFit
End Sub
Christophe
Le #22453051
Isabelle:

Merci mais l'ajustement des colonnes ne se fait pas quand je tape et
valide des donnés dans une cellule.

Christophe
isabelle
Le #22453081
bonjour Christophe,

les événements ont peut être été désactivé suite à un arrêt au milieu d'une procédure,
exécute cette macro 1 fois,

Sub Macro1()
Application.EnableEvents = True
End Sub

et refait un essai en modifient une donnée de la feuille en question.

isabelle


Le 2010-08-08 11:01, Christophe a écrit :
Isabelle:

Merci mais l'ajustement des colonnes ne se fait pas quand je tape et
valide des donnés dans une cellule.

Christophe

Christophe
Le #22453161
Isabelle,

Merci. J'ai executé la macro

Sub Macro1()
Application.EnableEvents = True
End Sub


et j'ai
'Autofit sheet automatically
Private Sub Worksheet_Autofit(ByVal Target As Range)
Range("C:IB").EntireColumn.Autofit
End Sub

mais les colonnes ne s'ajustent toujours pas :-(

Christophe
isabelle
Le #22453231
bonjour Christophe,

si tu veut que l'execution de la macro se fasse chaque fois qu'une nouvelle donnée est entrée dans une cellule,
il faut utiliser l'événement change, comme indiquer par Fredo,

Private Sub Worksheet_Change(ByVal Target As Range)
Columns("C:IB").EntireColumn.AutoFit
End Sub

si tu veut qu'elle s'execute uniquement lorsque une donnée est changée dans la plage Columns("C:IB")
tu doit vérifier si Target fait partie de cette plage,

Private Sub Worksheet_Change(ByVal Target As Range)
Set isect = Application.Intersect(Target, Range("C:IB"))
If Not isect Is Nothing Then Range("C:IB").EntireColumn.AutoFit
End Sub

isabelle


Le 2010-08-08 12:39, Christophe a écrit :
Isabelle,

Merci. J'ai executé la macro

Sub Macro1()
Application.EnableEvents = True
End Sub


et j'ai
'Autofit sheet automatically
Private Sub Worksheet_Autofit(ByVal Target As Range)
Range("C:IB").EntireColumn.Autofit
End Sub

mais les colonnes ne s'ajustent toujours pas :-(

Christophe

Christophe
Le #22453411
Isabelle,

Merci. Je ne suis pas certain de comprendre la difference
d'application des 2 Private Sub telles que décrites dans ton précéden t
post.
J'ai essayé les deux dans une nouvelle feuille et la seconde i.e;

Private Sub Worksheet_Change(ByVal Target As Range)
Set isect = Application.Intersect(Target, Range("C:IB"))
If Not isect Is Nothing Then Range("C:IB").EntireColumn.AutoFit
End Sub

fonctionne parfaitement.

Maintenant lorsque j'essaie de l'utiliser dans la feuille de mon
fichier de travail rien ne se passe.

Est-ce que l'un des facteurs suivants est en mesure d'affecter le
déroulement de cette Private Sub

1- feuille est protégée (mais le formatage des cellules est autorisé) ?
2- L'entrée des données se fait à l'aide d'un menu déroulant dans l a
colonne C et génère automatiquement le contenu correspondante dans la
colonne D via une formule. Même chose pou colonne D et E, etc.?

Merci.

Christophe
Publicité
Poster une réponse
Anonyme