Macro défini hauteur de lignes

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 !

Usine à gaz

XLDnaute Barbatruc
Bonjour à tous et bon WE,

J'ai besoin de définir la hauteur de certaines lignes ( de la ligne 5 à la ligne 43 et plus si possible) en fonction du paramètre suivant :

- ligne 5 si B5 > 0 hauteur 42.25
- ligne 6 si B6 > 0 hauteur 42.25
etc...

Evidemment, je ne sais pas faire,

Un grand merci pour votre aide.

Amicalement,
Lionel,
 
Re : Macro défini hauteur de lignes

J'ai fermé et réouvert le classeur :
j'ai remis toutes les lignes à 42.5

- Quand je saisi une référence qui a moins de lignes : ça marche il met les autres à 0
- ensuite, je saisie l'autre référence qui a plus cellules B > 0 : il ne fait rien

Et je ne comprends pas car à une précédente ouverture, ça a marché dans les deux sens mais avec le message d'erreur

Cooool LOL
 
Re : Macro défini hauteur de lignes

Bonjour à tous,
Salut FG 🙂🙂

Peux-tu essayer en masquant les lignes :

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim X&
    With Range("B5:B50")
        .RowHeight = 42.5
        .EntireRow.Hidden = True
    End With
For X = 5 To 50
If Cells(X, 2) > 0 Then Cells(X, 2).EntireRow.Hidden = False
Next X
ActiveSheet.Protect
End Sub

A+ à tous
 
Dernière édition:
Re : Macro défini hauteur de lignes

Bonsoir,

Je reviens vers vous car j'ai oublié un truc :

J'ai besoin que ton code s'applique aussi sur la feuille OF2

Je l'ai donc copié dans le module de la feuille OF2 mais il y a certainement une modif à faire et je ne vois pas car quand je modifie la référence en B2 de la feuille OF1, B5 de OF2 se modifie aussi (='OF1'!B5)

Merci pour tout ce temps accordé,Amicalement,
Lionel,
 
Re : Macro défini hauteur de lignes

Bonjour à tous,

Le _Change se fait sur la feuille en cours si il est placé dans le module de la feuille concernée.

Il serait intéressant que tu déposes le fichier qui te pose soucis.

A+ à tous
 
Re : Macro défini hauteur de lignes

Encore merci de me répondre.
Le fichier est celui que je t'ai envoyé : il contient OF1 et OF2
OF2 est alimenté par OFI.

Il existe car il y a un colonne supplémentaire "Tampo" donc, il a une forme un peu différente.
Si la macro n'agit que si la feuille est active, je saisirai aussi dans cette feuille.

Encore Merci,
Lionel,
 
Re : Macro défini hauteur de lignes

Bonjour à tous,

Peux-tu essayer en remplaçant le _Change par un _Activate (dans la module de la feuille OF2) :

VB:
Option Explicit

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim X&
    With Range("B5:B50")
        .RowHeight = 42.5
        .EntireRow.Hidden = True
    End With
For X = 5 To 50
If Cells(X, 2) > 0 Then Cells(X, 2).EntireRow.Hidden = False
Next X
ActiveSheet.Protect
End Sub

A+ à tous
 
Re : Macro défini hauteur de lignes

Bonjour JCGL,
Bonjour à tous,

Comme je te l'ai dit, ta macro marche très bien et je t'en remercie encore.

J'ai besoin qu'elle s'exécute sur deux conditions :

sur la cellule : If Cells(X, 2) > 0 Then Cells(X, 2).EntireRow.Hidden = False
et sur : If Cells(X, 5 > 0 Then Cells(X, 5).EntireRow.Hidden = False

Avec mes petites connaissances, j'ai essayé dans tous les sens possible mais j'ai pas réussi.

es-ce que cela est possible ?
(sous-entendu : tu peux me le faire ? LOL)

Merci d'être là,
Amicalement,
Lionel,
 
Dernière édition:
Re : Macro défini hauteur de lignes

Bonjour à tous,

Peux-tu essayer ceci dans le module de la feuille concernée :

VB:
Option Explicit

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim X&
    With Range("B5:B50")
        .RowHeight = 42.5
        .EntireRow.Hidden = True
    End With
For X = 5 To 50
If Cells(X, 2) > 0 Or Cells(X, 5) > 0 Then Cells(X, 1).EntireRow.Hidden = False
Next X
ActiveSheet.Protect
End Sub

A+ à tous
 
Re : Macro défini hauteur de lignes

RE,
En fait, je me suis peut-être mal expliqué :
J'ai besoin que les deux conditions soient remplie, c'est à dire B2 > 0.5 et E2 > 0.5 (qui sont sur la même feuille) pour qu'il mettre les lignes de ma recherche à 42.50.
Es-ce que cela change quelque chose pour la macro ?
Amicalement,
Lionel,
 
- 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
4
Affichages
220
Réponses
23
Affichages
669
Retour