XL 2021 Comment utiliser la colonne d'une adresse en Private Sub - svp ?

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 !

Lune999

XLDnaute Nouveau
Bonjour à toutes et tous,

J'espère que vous allez bien en ce vendredi matin (bientôt le WE !)

J'aurai besoin d'aide sur mon code, j'essaye de combiner des codes qui fonctionnent individuellement en Private Sub et la première partie (jusqu'au End With) me pose problème car ne fonctionne pas...
Savez-vous comment faire ?

Merci d'avance pour votre aide !


VB:
Private Sub Worksheet_Change(ByVal Target As Range)

With Target

ActiveSheet.Unprotect "Test"

    If .Address(ColumnAbsolute:=False) = "F1" Then
  
        With Range("F1").ListObject
            If .ListRows.Count > 0 Then
    
                If .ListRows(.ListRows.Count).Range(1, "K") <> 0 Then .ListRows.Add
            Else
                .ListRows.Add
              
            End If
              
        End With

    ElseIf .Address(False, False) = "B5" Then
  
        If Not Intersect(Target, Range("B5")) Is Nothing And Range("B5") <> 0 Then

                Worksheets(Worksheets("LISTE").Range("B5").Value).Visible = True
                Worksheets("LISTE").Range("B5").Select
                Worksheets("LISTE").Range("B5").ClearContents
      
        End If
  
    ElseIf .Address(False, False) = "B6" Then
      
        If Not Intersect(Target, Range("B6")) Is Nothing And Range("B6") <> 0 Then

                Worksheets(Worksheets("LISTE").Range("B6").Value).Visible = False
                Worksheets("LISTE").Range("B6").Select
                Worksheets("LISTE").Range("B6").ClearContents
      
        End If
      
    End If
 End With

ActiveSheet.Protect "Test", True, True, True, False, False, False, False, False, False, False, False, False, False, False, True

End Sub
 

Pièces jointes

hello

le deuxième with imbriqué suppose que tu travailles sur une propriété ou méthode du with précédent
dans ton cas
le premier with target==> tu travailles sur la cellule modifiée
le deuxième with range.listobject==> ne fait pas partie des objets de la cellule.. mais de la feuille : ce n'est pas le meme "parent"

essaie ce code à la place

VB:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("F1")) Is Nothing And Intersect(Target, Range("B5")) Is Nothing And Intersect(Target, Range("B6")) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
ActiveSheet.Unprotect "Test"
Cellule = Target.Address(False, False)

Select Case Cellule
    Case "F1"
        With Range("F1").ListObject
            If .ListRows.Count > 0 Then
                If .ListRows(.ListRows.Count).Range(1, "K") <> 0 Then .ListRows.Add
            Else
                .ListRows.Add
                
            End If
        End With
    
    Case "B5"
        
        Worksheets(Worksheets("LISTE").Range("B5").Value).Visible = True
        Worksheets("LISTE").Range("B5").Select
        Worksheets("LISTE").Range("B5").ClearContents
    
    Case "B6"
        Worksheets(Worksheets("LISTE").Range("B6").Value).Visible = False
        Worksheets("LISTE").Range("B6").Select
        Worksheets("LISTE").Range("B6").ClearContents
End Select

ActiveSheet.Protect "Test", True, True, True, False, False, False, False, False, False, False, False, False, False, False, True

End Sub
 
le cas F1: c'est pour pouvoir ajouter un nom d'onglet??
F1 étant le nom de la colonne.. je ne vois pas trop comment tu peux ajouter cette ligne...

voir en PJ
pour l'essai, j'ai copié la feuille test en test2

pour ajouter un nom d'onglet dans la table, il suffit d'écrire son nom juste en dessous de la table en colonne F
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
246
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
231
Réponses
7
Affichages
88
Réponses
4
Affichages
359
Réponses
2
Affichages
401
Retour