Erreur code supprimer

Bonjour à tous,

Dans mon classeur ci-joint, j'ai créé une commande de suppression d'une inscription sur la feuille 'fiche'. En cliquant sur supprimer je voulais effacer le nom de la personne ainsi que toutes valeurs saisies correspondantes dans les feuilles 'traces' et 'traces 2' et dans 'inscriptions'

J'hesite entre le fait d'insérer cette commande à la base dans le formulaire ou dans la feuille 'fICHE'

Merci de bien vouloir donner un avis, une idée!

Cordialement

Bonsoir,

Pour ce qui est de la question si insérer le code dans un module ou un autre, seul vous pouvez y répondre.

Pour ce qui est de la question dans le titre, voici votre erreur de code :

Sub Suppression()

If MsgBox("Êtes-vous sûr(e) de vouloir supprimer ces données ?", vbYesNo, "ATTENTION") = vbYes Then
    ShTrace.Rows(LI).Delete
    ShEval.Rows(LI).Delete
End If   'ne pas oublier à noter, pour spécifier au débogueur la fin de la condition IF
End Sub

Bonsoir merci pour votre réponse . j'ai corrigé l'erreur mais le code renvoi à l'erreur au niveau ShTrace.Rows(LI).Delete. Je suis coincé

Merci d'avance

Cordialement

Bonjour wall,

Il faut que ShTrace et ShEval soient correctement initialisés pour référencer les bonnes feuilles.

Il faut aussi que LI soit correctement initialisé ; tel que c'est, LI peut contenir n'importe quoi :

variable sans type déclaré => variable du type par défaut Variant ; et imagine si LI vaut 0,

un nombre négatif, ou un nombre > 1 048 576 : une telle ligne n'existe pas ! ta version

d'Excel est la 2010, donc comme à partir d'Excel 2007, n° ligne entre 1 et 1 048 576.

Pour déclarer LI : Dim LI As Long ou son équivalent : Dim LI&

Cordialement

Bonjour à tous,

Merci pour vos réponses,

j'ai écrit ce code dans module2 mais en sélectionnant un nom dans la feuille 'Fiche', je dois en principe effacer uniquement la ligne correspondante sur les feuilles 'Feuil1' et 'Traces' (par le bouton "supprimer")

Or ce code efface toutes les lignes !!!!

Merci de vos éclairages

Sub Suppression()
If MsgBox("Êtes-vous sûr(e) de vouloir supprimer ces données ?", vbYesNo, "ATTENTION") = vbYes Then
    With Sheets("Feuil1")
        .Range("A2:D" & Application.Max(14, .Range("A" & Rows.Count).End(xlUp).Row)).ClearContents
    End With
    End If

    With Sheets("Traces")
    .Range("A3:AL" & Application.Max(14, .Range("A" & Rows.Count).End(xlUp).Row)).ClearContents
    End With
End Sub

Bonjour,

pour la feuille Traces tu peux ajouter un bouton

et mettre ceci :

un message box demande quel est le Nom et Prénom à supprimer de la liste, il suffit de taper et cela supprimera la ligne.

Sub Suppression()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer le Nom et Prénom à supprimer ?", "Gérer feuille TRACES", "Attention Mode suppression")
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("Traces")
            For i = .Range("B" & .Rows.Count).End(xlUp).Row To 2 Step -1
                        If .Range("B" & i).Value = Editeur Then
    Rows(i).Delete
    End If
   Next i
End With
End Sub

crdlt,

André

Bonsoir,

Si quelqu'un pouvait m'aider à faire avancer cette séquence, ça serait sympa car j'ai perdu le nord !

Merci à vous

Cordialement

Bonjour toutes et tous

Wall si je peux me permettre dans ton classeur

1/ tu as Feuil1 qui est en quelque sorte ta 'Base de données' et qui se relie avec ton onglet 'Inscriptions' voir onglet Inscriptions qui se relie avec Feuil1 si, tu supprimes directement dans Feuil1 ton tableau d'Inscriptions se met automatiquement à jour

2/ de plus, je ne comprend pas résultat 1 et 2 faut-elle qu'elle soit cochée ? de ta feuil1

bon, je te mets ce que j'ai compris

crdlt,

André

Salut André, bonjour à tous,

Merci d'avoir cherché une solution pour mon cas. J'ai du mal à expliquer ce que je cherchais à faire mais tu touches le but pour moi et je t'en remercie. C'est exact, je cherche à travers la feuille Fiche à supprimer de la base de donnée Feuil1 le nom, prénom, etc. Mais également en même temps, supprimer toute la ligne enregistrée sur la feuille Trace.

Qunad je fais l'essai avec ton travail sympa, la suppression se fait plutôt dans la feuille Fiche et non dans Feuil1 ou dans Traces...

Voila où j'en suis et merci encore de m'éclairer plus

Cordialement

Bonsoir à tous,

Je voulais savoir comment faire pour supprimer le nom sélectionné sur la feuille 'Traces' en même temps que sur la feuille 'Feuil1' avec ce code?

Merci à vous

Cordialement

Sub Suppression()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer le Nom et Prénom à supprimer ?", "Gérer feuille TRACES", "Attention Mode suppression")
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("Traces")
            For i = .Range("B" & .Rows.Count).End(xlUp).Row To 2 Step -1
                        If .Range("B" & i).Value = Editeur Then
    Rows(i).Delete

    End If
   Next i

End With
End Sub

Bonjour

merci à M12 pour la solution du code

voir ici :

Titre du post : Macro pour 2 onglets

par : Wall

https://forum.excel-pratique.com/excel/macro-pour-deux-feuilles-t99942.html

ci-joint le fichier

crdlt,

André

Rechercher des sujets similaires à "erreur code supprimer"