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 :

Nettoyage cellules de saisie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Homme Profil pro
    retraite
    Inscrit en
    Décembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Décembre 2017
    Messages : 44
    Par défaut Nettoyage cellules de saisie
    bonjour,

    a chaque fois que j'ouvre une feuille, il faudrait que celle ci soit vide de données saisies precedement mais que je garde quand meme les titres lignes, colonnes etc
    ainsi que les formules
    simplement effacer champs de saisies. les autres cellules doivent etre protegées
    cells.clear efface tout, je crois
    merci

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Intéresse-toi à Range.specialcells . L'un de ses arguments te permet de définir la plage des seules cellules ne contenant pas de formules (des "constants")
    Applique ce "filtre" (de ces seules "constants", donc) à la plage de ton choix (hors tes entêtes, donc) -->> tu en extrais ainsi une plage (toto, par exemple).
    Applique la méthode Clearcontents à cette plage toto.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Allez (je dois sortir).
    Regarde comment je vais condenser tout cela.
    Ici, je suppose que mes entêtes sont en ligne1
    J'utilise usedrange, que je déplace vers le bas de 1 rang pour garder mes entêtes
    Et ? --->> et je lui applique ce que je t'ai dit dans mon message précédent --->>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UsedRange.Offset(1, 0).SpecialCells(xlCellTypeConstants).ClearContents
    Attention : à n'appliquer que si tu as des "champs" saisis (sinon (si déjà "nettoyé"), tu auras forcément une erreur).

    Voilà tout

  4. #4
    Expert éminent 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
    Par défaut
    Citation Envoyé par fernandezalain Voir le message
    a chaque fois que j'ouvre une feuille, il faudrait que celle ci soit vide de données saisies precedement mais que je garde quand meme les titres lignes, colonnes etc
    ainsi que les formules
    Il y a plus simple : interdire la sauvegarde du fichier.
    Comme ça il sera toujours propre à l'ouverture.
    Et pas besoin de macro, ça peut se faire en quelques secondes.

    cells.clear efface tout, je crois
    https://msdn.microsoft.com/fr-fr/lib.../ff823037.aspx
    Mais, je le répète, à mon avis c'est une mauvaise idée.

  5. #5
    Membre actif
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2017
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Tchad

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2017
    Messages : 57
    Par défaut
    Bonjour,

    Pourquoi ne pas sélectionner les cellules à effacer à la fin de la macro comme suit.
    Dans l'exemple, je souhaite effacer les cellule A1 à A5 , B5 à D5, de la feuille Clear

    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
    Sub Tamacro_()
     
    'Je considère que c'est le début de la macro, tu auras certainement déclarer au début de la tienne les feuilles
     
    Dim C As Worksheet
     
        Set C = Sheets("Clear")
     
            C.Range("A1:A5") = ""
            C.Range("B5:D5") = ""
     
            ' Tu colles donc ça à la fin de ce que tu as fait pour traiter l'information et cela effacera les données.
     
     
     
     
    End Sub
    Après je n'ai peut être pas compris la question...?

    Bonne soirée,

  6. #6
    Inactif  
    Homme Profil pro
    retraite
    Inscrit en
    Décembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Décembre 2017
    Messages : 44
    Par défaut
    oui je pense que c'est une bonne solution
    merci romain

  7. #7
    Expert éminent 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
    Par défaut
    Tu as raison : il est toujours préférable de faire compliqué, même quand on peut faire simple...

  8. #8
    Inactif  
    Homme Profil pro
    retraite
    Inscrit en
    Décembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Décembre 2017
    Messages : 44
    Par défaut
    non Menhir mais je peux choisir les cellules a vider

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

Discussions similaires

  1. [XL-2003] VBA modifier plage de cellules sur saisie
    Par polo31 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2011, 13h31
  2. Réponses: 4
    Dernier message: 11/08/2008, 10h07
  3. [JTable] récupérer valeur cellule après saisie
    Par jerome71300 dans le forum Composants
    Réponses: 29
    Dernier message: 11/08/2008, 07h24
  4. Réponses: 2
    Dernier message: 24/04/2008, 17h11
  5. SOMME si la cellule est saisie.
    Par Rico75 dans le forum Excel
    Réponses: 7
    Dernier message: 03/03/2008, 17h36

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