VBA : Largeur & Hauteur automatiques des cellules en fonction du contenu

Bonsoir,

J'ai réussi à automatiser les largeurs hauteurs des cellules en fonction du contenu mais une erreur '1004' persiste ==>

image image

Pourtant ce code VBA, strictement identique (sauf que j'ai rajouté les lignes en hauteur automatiques), fonctionne sur un autre classeur :

Private Sub Worksheet_Activate()
     With Me.Range("A1")
          .Value = .Value                    'lancer "change"
     End With
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i
     With Me
          .Range("C1:F1").ColumnWidth = 50   'largeur exagéré
          .Range("C:F").EntireColumn.AutoFit
          For i = 3 To 6
               Columns(i).ColumnWidth = Application.Max(1, Columns(i).ColumnWidth - 1)     'éviter d'avoir une valeur négative
          Next i
    End With
   With Me
          .Range("A3:A14").RowHeight = 150   'hauteur exagérée
          .Range("3:14").EntireRow.AutoFit
          For i = 3 To 14
               Rows(i).RowHeight = Application.Max(1, Rows(i).RowHeight - 1)     'éviter d'avoir une valeur négative
          Next i
           .Range("A13").RowHeight = 20       'ligne noire
    End With
End Sub

Une solution ?

Merci

Bonne soirée

re,

peut-être que les options qui sont cochées et donc sont permis dans une feuille protégée sont différent oubien cette 2ième feuille n'est pas protégée.

C'est la protection qui est ambetant. Dans la macro "worksheet_Activate", on change/refresh la cellule A1, mais si la cellule est "locked" dans une feuille protégée, cela bloque, donc on doit une fois (manuellement ou avec VBA, donc on peut éventuellement supprimer ces 5 lignes ) décocher cette propriété de cette cellule.

Bonsoir Bart' et merci beaucoup pour ta proposition et la résolution de ce pb

J'ai pas compris le coup des "5 lignes" mais ça marche parfaitement !!!!!!!!!!!!!!

Merci beaucoup, une nouvelle fois !!!!!!!!!!

Bonne soirée Bart'

re,

ces 5 lignes, c'était pour modifier les propriétés de la cellule A1 pour pouvoir lancer avec un contournement la macro "Change", c'est un peu du spaghetti ou un jeu de billiard dans lequel une boule en fait tomber une autre dans le trou. Maintenant, c'est mieux. Les 2 macros dans les 2 feuilles utilisent la même macro avec la feuille comme variable. Cette macro se trouve dans le "module10" (avec explication). Tu peux la déplacer vers un autre module, si tu veux l'avoir dans le même module d'une autre macro.

s'il y aurait une différence entre la manipulation d'hommes et de femmes, on peut utiliser ce "drapeau" dans cette macro

Ohhhhhhhhhhhh, bravo, je regarde tt ça ce soir car je pars travailler. J'ai compris le sens globale de tes actions

Merci pour tout le temps que tu prends pour moi, à chaque fois !!!!!!!!!!!!

Je te fais un ti retour tonight

Mille mercis Bart' et bonne journée

Bonsoir Bart'

J'ai bien lu toutes tes explications et g compris 90%

Et bravo pour le drapeau, au cas où

Merci beaucoup pour cette optimisation !!!!

C'est parfait

à bientôt...

Bon w.e.

Rechercher des sujets similaires à "vba largeur hauteur automatiques fonction contenu"