Tester la hauteur de ligne de la cellule active

Bonsoir a tous,

Dans un tableau possédant plusieurs colonnes je renseigne des éléments via un userform qui se trouve declenché en activant une cellule dans le tableau.

Apres avoir renseigné le userform les données de celui ci sont mis en forme dans la cellule active qui est redimensionnée pour que l'ensemble des données tiennes dans la cellule.

Le problème c'est que je ne veux pas que le redimensionnement se fasse sur une ligne ou une cellule a déjà était redimensionner lors du précédente saisie pour éviter de me retrouver avec un cumule de redimensionnement inutile.

Etant débutant je n'arrive pas a générer le code qui me permettrais de contrôler si la hauteur de ligne est superieur a une certaine valeur.

J'ai essayer de construire mon code de cette manière.

With ActiveCell ' sur la cellule active

If ActiveCell.RowHeight > 15 Then

ActiveCell.FormulaR1C1 = TextJourneedu & " " & TextHeurededebut & "-" & TextHeuredefin & Chr(10) & TextCommentaire

Else

.RowHeight = .RowHeight * 3

ActiveCell.FormulaR1C1 = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & ""

ActiveCell.FormulaR1C1 = TextJourneedu & " " & TextHeurededebut & "-" & TextHeuredefin & Chr(10) & TextCommentaire

End If

End Sub

mais visiblement je mis prend très mal

Re,

Ton code devrait fonctionner ...

Le seul petit oubli se trouve à la fin ... il te manque un End With

     End If
   End With
End Sub

Bonjour,

pourquoi pas :

ActiveCell.EntireRow.AutoFit

Au passage travailler avec ActiveCell est à éviter.

Vu ce que tu dis tu as Target qui est la cellule concernée.

eric

Bonsoir,

Si j'ai bien compris EntireRow.AutoFit ne peux fonctionner que si les hauteurs de lignes sont égale a la valeur que excel utilise par défaut (15).

les miennes ont une hauteur de base a 7.

Du coup je cherche une solution pour faire avec

Bonsoir

EntireRow.AutoFit

Permet d 'ajuster la ligne en fonction de son remplissage afin de rendre lisible les données s'y trouvant

Bonne soirée

Re,

Ton code devrait fonctionner ...

Le seul petit oubli se trouve à la fin ... il te manque un End With

     End If
   End With
End Sub

Bonsoir même avec la correction j,ai encore des erreurs dans mon code

TextJourneedu = "sam 15"

TextHeurededebut = "20:15"

TextHeuredefin = "22:00"

TextCommentaire = "10 place barthelemy 2 eme etage Mme duitreuster remplacement de l'ensemble de la robineterie du sejour et salle de bain"

With ActiveCell ' sur la cellule active

If ActiveCell.RowHeight > 15 Then

ActiveCell.FormulaR1C1 = TextJourneedu & " " & TextHeurededebut & "-" & TextHeuredefin & Chr(10) & TextCommentaire

End If

Else

With ActiveCell ' sur la cellule active

.RowHeight = .RowHeight * 3

ActiveCell.FormulaR1C1 = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & ""

ActiveCell.FormulaR1C1 = TextJourneedu & " " & TextHeurededebut & "-" & TextHeuredefin & Chr(10) & TextCommentaire

End With

End Sub

message d'erreur Else sans If

Merci d'avance pour ton aide

Re jimdycol

Et si tu nous donnait un extrait de ton fichier en nous signalant où est ton problème??

Car là , nous travaillons à l'aveuglette...

Bonne soirée

Si j'ai bien compris EntireRow.AutoFit ne peux fonctionner que si les hauteurs de lignes sont égale a la valeur que excel utilise par défaut (15).

Et si tu as mal compris ?

Le plus simple est de tester les propositions

Bonjour,

Tu dois au minimum lire les messages postés ...

eriiic a totalement raison ... fais tes tests ...

Accessoirement ... Ajouter End With ... ne signifie pas qu'il faut supprimer End If ... !!!

J'ai tester avec vos différente idée et proposition , du coup j'arrive au résultat pour lequel je me bat depuis le weekend dernier.

Passer de la macro 4.0 a la VBA n'est pas simple.

En tout cas la solution avec Autofit ça fonctionne effectivement, j'ai adapter mon code pour l’intégrer le fonctionnement et parfait.

Un grand merci a vous trois pour toute votre aide et précieux conseil sans lesquels je ne pourrais avancer

Merci encore a tous

Re

N'oublie pas de cocher résolu

Bye

Rechercher des sujets similaires à "tester hauteur ligne active"