ROW et variable

Swing92

XLDnaute Nouveau
Bonjour,

Je souhaite rendre ce code un peu plus générique :

If UCase(Range("G6")) = "OUI" Then
Rows("7:18").EntireRow.Hidden = False
Else
Rows("7:18").EntireRow.Hidden = True
Range("G7:M18").ClearContents
End If

Les colonnes sont toujours G et M et les lignes à masquer changes en fonction de la cellule testée. Je souhaite juste changer en fonction de la cellule test les valeurs de L1 et L2 (cf code)

J'ai essayé ceci mais j'ai un message Erreur 13 imcompatibilité de type...

Comment donner une variable à la fonction row ?

Merci d'avance - Ci-après mon code :

----------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim L1 As String, L2 As String, ZoneH As String, ZoneClear As String
Application.EnableEvents = False
If UCase(Range("G6")) = "OUI" Then
L1 = "7"
L2 = "18"
ZoneH = L1 & ":" & L2
ZoneClear = "G" & L1 & ":" & "M" & L2
Rows(ZoneH).EntireRow.Hidden = False
Else
Rows(ZoneH).EntireRow.Hidden = True
Range(ZoneClear).ClearContents
End If
Application.EnableEvents = True
End Sub

Merci pour votre aide
 

Swing92

XLDnaute Nouveau
Re : ROW et variable

Merci pour ta réponse Spitnolan08 mais j'ai un message d'erreur :

Erreur d'execution '1004" Erreur définie par l'application ou par l'objet.

Ci-après mon code modifié avec tes infos :

If UCase(Range("G6")) = "OUI" Then
L1 = 7
L2 = 18
Range(Cells(L1, 1), Cells(L2, 1)).EntireRow.Hidden = False
Else
Range(Cells(L1, 1), Cells(L2, 1)).EntireRow.Hidden = True
Range(Cells(L1, 7), Cells(L2, 13)).ClearContents
End If
 

Spitnolan08

XLDnaute Barbatruc
Re : ROW et variable

Re,

Pas testé, mais ce doit être pour la 2ème partie de la condition :
Code:
If UCase(Range("G6")) = "OUI" Then
L1 = 7
L2 = 18
Range(Cells(L1, 1), Cells(L2, 1)).EntireRow.Hidden = False
Else
L1 = 7
 L2 = 18
Range(Cells(L1, 1), Cells(L2, 1)).EntireRow.Hidden = True
Range(Cells(L1, 7), Cells(L2, 13)).ClearContents
End If
Cordialement
 

Swing92

XLDnaute Nouveau
Re : ROW et variable

Merci pour ta réponse Epaf mais j'ai le même message d'erreur qu'avec mon code :

Erreur 13 imcompatibilité de type...

J'ai déclaré les variables comme suit : Dim L1 As Integer, L2 As Integer

If UCase("G6") = "OUI" Then
L1 = 7
L2 = 18

Rows(L1 & ":" & L2).EntireRow.Hidden = False

Else
Rows(L1 & ":" & L2).EntireRow.Hidden = True
Range(Cells(L1, 7), Cells(L2, 13)).ClearContents

End If
 

Discussions similaires

Réponses
12
Affichages
253

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 685
Messages
2 090 945
Membres
104 705
dernier inscrit
Mike72