Bonjour à tous,
J'ai créé un fichier Excel pour gérer les adhérents d'une associaton. Pour ce faire, je renseigne une table Excel depuis un formulaire. J'ai deux feuilles dans mon classeur. L'accueil et la table dans laquelle figure les données des adhérents. Le formulaire se lance depuis la feuille accueil en cliquant sur un bouton.
Depuis le formulaire un bouton "Supprimer" permet de supprimer un enregistrement. Je ne souhaite pas afficher la table et rester en permanence sur l'accueil pendant cette opération.
J'ai utilisé le code suivant pour le bouton Supprimer :
Cela ne fonctionnait pas car la ligne correspondant à la variable était bien supprimée mais sur la feuille Accueil en dépit de l'instruction With Sheet("Licenciés").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub CommandButton4_Click() With Sheets("Licenciés") Rows(Index).Select Selection.Delete Shift:=xlUp End with Unload Me 'Ferme le formulaire UserForm1.Show 'Ouvre le formulaire End Sub
J'ai donc modifié le code comme suit :
en ajoutant la commande "Application.ScreenUpdating = False" dans le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub CommandButton4_Click() Sheets("Licenciés").Select Rows(Index).Select Selection.Delete Shift:=xlUp Sheets("Accueil").Select Unload Me 'Ferme le formulaire UserForm1.Show 'Ouvre le formulaire End Sub
Je suis arrivé au résultat attendu mais je ne comprends pas pourquoi le premier code n'a pas fonctionné.
Est-ce quelqu'un peut m'expliquer pourquoi ?
Merci par avance.
Partager