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 :

Comment créé un bouton Reset en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 17
    Par défaut Comment créé un bouton Reset en VBA
    Bonjour !

    Comment créer un bouton reset qui me permettrai d'effacer toutes mes données sauf certaine colonne

    par exemble la colonne A , E , G !!

    Merci

  2. #2
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonjour,

    Définissez une zone à effacer en utilisant la zone de nom:
    * Sélectionnez toute la page exceptée les 3 colonnes que vous avez indiquées.
    * Dans la zone de noms, tapez un texte ( par exemple "ZoneEffacement" ), et validez par la touche [Entrée]

    Ensuite il vous suffira:
    * de sélectionner la zone en utilisant la zone de nom qui permet la sélection de celle-ci, puis d'appuyer sur la touche [Suppr] de votre clavier
    * Ou par VBA: Range("ZoneEffacement").Clear

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    En deux étapes, sous excel 2003 :

    1- Création du bouton de commande :
    - Affichage/Barre d'outils/Boîte à outils contrôles
    - cliquez sur l'icône "Bouton de commande" (rectangle gris)
    - dessinez le bouton, dans la feuille qui nécessite le "reset"
    - clic droit sur le bouton / Objet / Editions : remplacer CommandButton1 par Reset
    - clic n'importe ou dans la feuille puis double clic sur le bouton, une fenêtre Microsoft Visual Basic s'ouvre avec deux lignes de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
     
    End Sub
    2- Le code VBA à affecter à ce bouton :
    Entre ces deux lignes, vous devez placer ces quelques lignes de code pour obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton1_Click()
    Dim Plage As Range
     
    Set Plage = Application.InputBox("Sélectionnez la plage à effacer!", "Sélection", Type:=8)
    With Plage
        .ClearContents
    End With
    End Sub
    - fermez la fenêtre Microsoft Visual Basic pour revenir sur la feuille
    - Dans la barre d'outils "boîte à outils contrôles", cliquez sur : "désactiver le mode création" (icône avec une équerre bleue, un crayon et une règle)

    Testez en cliquant sur le bouton. !!!! Testez cette macro sur une copie de votre fichier initial, sous peine de perte définitive des données !!!!
    Une boîte de dialogue s'ouvre en vous demandant de sélectionner la plage à supprimer. Ceci pourra être adapté si cette plage ne fluctue jamais.
    Si cette plage est amenée à changer, d'autres méthodes pourront également être envisagées avec de plus amples précisions.
    Vous dites...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 17
    Par défaut
    Merci ca efface bien les valeurs comme je voulais ...

    ...Mais j'ai beaucoup de mais

    1er => comment faire pour effacer les commentaires
    2eme => efface les commentaires mais n'efface pas les formules
    3eme => lorsque j'appui sur reset les valeurs de la colonne C par exmple ce mets en colonne A

    Merci pour l'aide

    re

    Du coup pour le probléme des formules ! J'ai testé de verrouiller les cellules avec formule !! mais quand je selectionne avec le bouton reset la macro mets une erreur pour dire que c verouillé !!

    Comment eviter que la macro me mette une erreur tout en utilisant la methode verrouillé

    Merci

  5. #5
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Partant du principe qu'une formule commence par le signe =, il convient de tester ça dans chaque cellule.
    La macro qui suit teste toutes les cellules 1 par 1 dans ta plage sélectionnée et si elle ne contient pas de formule supprime le contenu (ClearContents) et l'éventuel commentaire (ClearComments) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
    Dim Plage As Range, Cel As Range
     
    Set Plage = Application.InputBox("Sélectionnez la plage à effacer!", "Sélection", Type:=8)
    For Each Cel In Plage 'pour chaque cellule dans la plage sélectionnée
        If Left(Cel.Formula, 1) <> "=" Then 'si la cellule ne contient pas de formule
            With Cel 'dans la cellule
                .ClearContents 'supprime le contenu
                .ClearComments 'supprime le commentaire
            End With
        End If
    Next
    End Sub
    Pour que tes données en colonne C se retrouve en colonne A, il faut que ...
    tu supprimes les colonnes A et B.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 17
    Par défaut RESET
    Merci beaucoup!

    Mais par rapport a ma derniére question !!

    Enfaite j'ai des donées 2010 en colonne A et en colonne C des données de 2011

    Et dés que je fais un reset les valeurs de 2011 vont en colonne A et ainsi en colonne C je pourrais saisir mes valeurs 2012 , ainsi de suite chaque années

    Ca me permet de faire une seule saisie (celle de 2012 en colonne C)

    ET ainsi pas besoin de copié ou résaisir les valeurs 2011 dans la colonne A car elle ce feront automatiquement

  7. #7
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Et bien pour ta dernière question il m'en faut davantage... J'ai pour cela consulté ma boule de cristal, mais la structure de ton classeur reste floue...

    - Que supprimes tu grâce au code que je t'ai donné? Qu'elle est la plage de cellules que tu supprimes?

    - Qu'y a t'il en colonne B ? des données que tu souhaites conserver?

    - Toutes les lignes de la colonne C sont elles concernées ou seulement certaines?

Discussions similaires

  1. comment associe t-on du code VBA à un bouton dans un userform
    Par AlexFred dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/06/2010, 14h52
  2. Comment supprimer des boutons et les codes associés en vba
    Par Stargate SG1 dans le forum VBA Access
    Réponses: 4
    Dernier message: 06/12/2008, 19h47
  3. Réponses: 3
    Dernier message: 02/05/2007, 20h06
  4. [VBA-E] Comment créer un bouton ds une wksheet par un code vba
    Par moicwill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2006, 17h12
  5. Réponses: 5
    Dernier message: 29/10/2004, 16h20

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