Macro incomplète

Fermé
Ptiloup226 Messages postés 11 Date d'inscription vendredi 4 novembre 2022 Statut Membre Dernière intervention 11 septembre 2023 - 4 nov. 2022 à 10:47
Ptiloup226 Messages postés 11 Date d'inscription vendredi 4 novembre 2022 Statut Membre Dernière intervention 11 septembre 2023 - 4 nov. 2022 à 11:35

J'ai créé une Sub Worksheet sur une feuille intitulée "Lieu et travaux à faire"

En fait, je souhaite effacer à partir de la ligne 3 La cellule D3 quand je rentre une date en C3.

Mon problème est que je ne sais pas le faire pour l'ensemble de mon fichier sur toutes les lignes si ce n'est que répéter pour chaque ligne.

Voici ce que j'ai écrit:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C3")) Is Nothing Then
        Range("D3").ClearContents
    End If
    
    If Not Intersect(Target, Range("C4")) Is Nothing Then
        Range("D4").ClearContents
    End If
    If Not Intersect(Target, Range("C5")) Is Nothing Then
        Range("D5").ClearContents
    End If
    If Not Intersect(Target, Range("C6")) Is Nothing Then
        Range("D6").ClearContents
    End If
        
End Sub

Pouvez-vous m'aider ?

Avec mes remerciements anticipés


A voir également:

2 réponses

M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 284
Modifié le 4 nov. 2022 à 11:02

Bonjour

Teste ceci

Avec End Sub à la fin au lieu de Ens Sub (le doigt à dévier)

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:C1000")) Is Nothing Then 'C1000 à adapter
        target.offset(0,1).ClearContents
    End If
Ens Sub
0
Ptiloup226 Messages postés 11 Date d'inscription vendredi 4 novembre 2022 Statut Membre Dernière intervention 11 septembre 2023
4 nov. 2022 à 11:35

J'ai trouvé mon erreur, d'abord je n'avais rien à modifier dans la chaîne de caractère mais simplement la fin.

Merci beaucoup pour votre dévouement,

Cordialement,

C'est mieux comme ceci:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:C1000")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
    End If
End Sub

A bientôt !

0
Ptiloup226 Messages postés 11 Date d'inscription vendredi 4 novembre 2022 Statut Membre Dernière intervention 11 septembre 2023
4 nov. 2022 à 11:23

Merci pour votre réponse rapide

J'ai essayé d'adapter par ceci mais cela ne fonctionne pas;

Je suis vraiment nul.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:C1000")) Is Nothing Then
        Range(D3:D1000)target.offest'0,1).ClearContents
    End If
            
End Sub

Je vais sûrement devoir prendre des cours de VBA.


0
M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 284
4 nov. 2022 à 11:31

Re,

Commence déjà par copier/coller ma macro ou vérifie ton écriture de ta macro

0