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 :

Supprimer une ligne sur deux feuilles du même classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut Supprimer une ligne sur deux feuilles du même classeur
    Bonjour,

    J'ai un userform , quand j'enregistre les valeurs à l'aide du bouton "ajouter" j'enregistre sur deux feuilles, la feuille active et la feuille "Récap".
    Quand je veut supprimer une ligne avec le bouton supprime de l'userform, avec le code actuel je ne peut que supprimer une ligne sur la feuille active et j'aimerais aussi supprimé la même ligne qui se trouve sur la feuille "Récap"
    Si quelqu'un à une idée je le remercie d'avance.

    Cordialement

    Max
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Sans ouvrir ton classeur (chose que je fait rarement car sinon, tout le monde va se mettre à poster son classeur à chaque post :0(( ), teste ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Sub Supprimer(NbLigne As Long)
     
        Dim Fe1 As Worksheet
        Dim Fe2 As Worksheet
     
        Set Fe1 = ActiveSheet
        Set Fe2 = Worksheets("Recap")
     
        Fe1.Rows(NbLigne).EntireRow.Delete
        Fe2.Rows(NbLigne).EntireRow.Delete
     
    End Sub
     
    Sub test()
     
        'supprime la 5ème ligne
        Supprimer 5
     
    End Sub
    Hervé.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Bonjour

    Et merci d'avoir répondu mais ce n'est pas exactement se que je recherche.
    Ou peut être je n'est pas compris, je joint mon code qui seras plus parlant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ' supprimer
    Private Sub CommandButton4_Click()
     
      Range("B" & 5 + Me.ComboBox1.ListIndex).EntireRow.Delete
        TextBox1 = ""
        TextBox2 = ""
        TextBox3 = ""
        TextBox4 = ""
         TextBox5 = ""
          TextBox6 = ""
           TextBox7 = ""
            TextBox8 = ""
             TextBox9 = ""
              TextBox10 = ""
               TextBox11 = ""
                TxtHT = ""
                 TxtTva = ""
                TxtTTC = ""
     
        ComboBox1 = ""
     
    End Sub
    Si tu veut bien jeter un oeil

    Je te remercie d'avance

    Bonne journée

    Max

  4. #4
    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 : 69
    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
    Bonjour le forum,Theze, apdf1

    avant toute chose, tu as oublié de mettre "option explicit" en haut de tes codes, 2 conseils :
    1 - ajoutes cette option et executes ton code car tu risques d'avoir des surprises comme les messages "variable on déclarée",
    2 - il serait utile de déclarer certaines de tes variables en "Public" dans un module ou avec dim mais en haut de ton code USF.
    maintenant, n'ayant pas regardé ou analyser plus loin ton code sur les lignes à supprimer et les textbox à vider :
    à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton4_Click()
    Dim objControl As Control 'ne pas oublier
    ActiveSheet.Range("B" & 5 + Me.ComboBox1.ListIndex).EntireRow.Delete
    Sheets("Recap").Range("B" & ligne + 5).EntireRow.Delete 'vérifier la ligne
    For Each objControl In UserForm1.Controls
       objControl.Text = ""
    Next
    ComboBox1 = ""
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Bonjour et merci beaucoup d'avoir répondu.

    Voila j'ai fait comme tu me la souscrit mais comme tu avais dit sa plante et je ne vois pas quoi faire de temps plus que je suis sur ce problème depuis hier et je n'arrive pas m'en dépatouiller.

    Je joint mon fichier qui seras plus parlant

    J'ai besoin d'un coup de main pour finir mon formulaire
    Je recherche mon client par le Combobox1 et je doit pouvoir le supprimer dans la feuille active et la feuille Recap

    Cordialement
    Max
    Fichiers attachés Fichiers attachés

  6. #6
    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 : 69
    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
    re,
    Executes ton code (précises lequel sur ton post) en pas à pas, donnes le message d'erreur et la ligne où ça plante
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    re,

    Quand j'exécute mon code au moment je supprime un Message d'erreur
    "Variable objet ou variable de bloc With non definie"
    et objControl.Text = "" se met en sur brillant

    Mais la ligne s'efface bien sur les deux feuilles

    @+

    Max

  8. #8
    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 : 69
    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
    Excuses-moi,
    rectifie cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each objControl In UserForm1.Controls
       If TypeOf objControl Is msforms.TextBox Then'à ajouter
          objControl.Text = ""
       End If'à ajouter
    Next
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Je te remercie beaucoup et te souhaite un bon Week end

    Max

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

Discussions similaires

  1. [XL-2010] Colorier une ligne sur deux les lignes de même valeur
    Par ggvad dans le forum Excel
    Réponses: 1
    Dernier message: 17/12/2014, 16h28
  2. Supprimer vbCrLf d'une ligne sur deux
    Par SierraGolf3 dans le forum VBScript
    Réponses: 2
    Dernier message: 04/01/2014, 16h46
  3. [XL-2003] Copier une ligne sur deux d'une feuille à une autre en un seul coup
    Par brownthefou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2012, 15h33
  4. Réponses: 9
    Dernier message: 17/02/2011, 17h14
  5. coloriser une ligne sur deux
    Par the0livier dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2005, 10h54

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