IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Travailler dans une feuille sans l'afficher [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 50
    Points : 32
    Points
    32
    Par défaut Travailler dans une feuille sans l'afficher
    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 :

    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
    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").


    J'ai donc modifié le code comme suit :

    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
    en ajoutant la commande "Application.ScreenUpdating = False" dans le code.

    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.

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bnjour,
    tu oublies de mettre un point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton4_Click()
    With Sheets("Licenciés")
      .Rows(Index).Delete Shift:=xlUp
    End With
    ....

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Faire simple comme ceci (sans rien sélectionner)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Licenciés").Rows(Index).Delete Shift:=xlUp

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    Merci pour vos réponses. J'ai économisé du code.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Accéder à une feuille sans l'afficher
    Par Harry Covair dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/09/2013, 12h17
  2. [2.x] Récupérer un paramètre dans une Route sans l'afficher ?
    Par tbreton dans le forum Symfony
    Réponses: 2
    Dernier message: 20/07/2011, 08h51
  3. Réponses: 6
    Dernier message: 22/02/2011, 22h46
  4. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  5. [VBA-E] Afficher lignes masquées dans une feuille protégée
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/12/2005, 18h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo