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

Excel Discussion :

annuler une macro commande par le biais d'une autre macro


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut annuler une macro commande par le biais d'une autre macro
    Salut,

    Dans un tableau, j'ai créé une macro associée à un bouton qui me permet de supprimer des lignes vide.

    je cherche par le biais d'une autre macro d'annuler l'action de ma première macro, c'est à dire de remettre les lignes supprimer.

    quelqu'un peut m'aider

    merci

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(ActiveCell.Row).Insert(xlShiftDown)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    Merci Menhir pour ton aide

    j'ai appliqué la seconde formule Rows(ActiveCell.Row).Insert(xlShiftDown) qui fonctionne.

    mais peut-on remettre toutes les lignes supprimer en une seule fois, car là, je suis obliger de cliquer plusieurs fois sur le bouton qui est affecté à ma macro.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Le code que je t'ai donné ne "remet" pas les lignes. Il insère juste une ligne.

    Tu peux essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim i As Integer
    i = Val(InputBox("Combien de lignes ?"))
    While i > 0
       Rows(ActiveCell.Row).Insert (xlShiftDown)
       i = i - 1
    Wend

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    ta commande fonctionne, mais c'est pas ce que je cherche.
    je me demande si c'est possible

    si tu veux dans mon tableau, j'ai certaine lignes vide (ex: lignes : 5, 10, 15, 30, 32...)

    donc j'ai créer cette macro que j'ai associé à un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub erreur()
    Dim i As Integer
     
    For i = 200 To 1 Step -1
        If Worksheets("impressions").Cells(i, 2) = "" Then Worksheets("impressions").Rows(i).Delete
    Next i
    End Sub
    moi je cherche un moyen d'annuler la suppression de ces lignes par une autre macro

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    A part l'usage de Undo (décrit dans mon message précédent), je ne vois pas de solution.
    Et il est inutile de créer un bouton pour mettre juste Undo dedans, il existe déjà en standard dans ta barre d'outils à accès rapide

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    je me doutais un peu, mais quand je clique sur le bouton pour annuler les lignes, le undo de la barre d'outils devient gris et non opérationel.

    Où alors, connais-tu un code VBA qui permettrait de masquer les lignes vides, plutôt que de les supprimer.

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans ton code, tu remplaces Delete par Hidden = True
    L'affichage se faisant bien sûr par Hidden = False

    Mais l'enregistreur automatique de macro aurait pu t'apprendre ça.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    encore merci Menhir, cela fonctionne.

    je débute en macro.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 27/04/2015, 17h28
  2. Réponses: 0
    Dernier message: 24/04/2012, 13h33
  3. Passage d'une instruction vb par le biai d'une fonction
    Par vascoambrgifromanger dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/04/2009, 13h15
  4. Appel d'une méthode java par le biais d'un lien
    Par Lex92 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 02/07/2008, 13h17
  5. Réponses: 2
    Dernier message: 06/04/2007, 12h17

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