Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ROW et variable

  • Initiateur de la discussion Initiateur de la discussion Swing92
  • Date de début Date de début

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 !

S

Swing92

Guest
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
 
Re : ROW et variable

Code:
NoLigne1 = 6
NoCol1 = 7
Nolig2 = 7
NoLig3 = 18
If UCase(Cells(NoLig1, NoCol1)) = "OUI" Then
    Rows(NoLig2 & ":" & NoLig3).EntireRow.Hidden = False
Else
    'etc...
Est-ce bien ce que tu voulais ?
@+
 
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
 
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
 
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
 
Re : ROW et variable

Bien joué Spitnolan08 effectivement j'avais oublié de remettre les valeurs de L1 et L2 dans la 2 eme close de mon test.

Et j'ai fait la même chose avec le code de Epaf ...

Merci à vous 2 cela fonctionne bien.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
911
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…