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 :

Effacer des cellules automatiquement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Par défaut Effacer des cellules automatiquement
    Bjr à tous je suis étudiant et dans le cadre d'un projet, j'ai besoin de votre aide. Je débute sur l'exploitation Excel VBA et je voudrais avoir votre avis sur mon problème.

    Je travaille dans un dossier "DELAMIN" et sur un classeur excel nommé "recap_DELAM" qui consolide trois (pour l'exmple) autres classeurs. Ma petite macro marche très bien cependant je voudrais que lorsque j'appui sur mon boutton, que l'ensemble des cellules (en vertical) après les cellules A11 et B11 soit effacer avant que les nouvelles données viennent remplacé les anciennes.

    Une autre solution serait de créer un nouveau sub pour effacer uniquement les cellules qui contiennent une donnée toujours à partir de de A11 et B11.

    A partir de ces cellules, car dans mon fichier réel j'ai créé un tableau avec des informations qui doivent être fixe à partir de la ligne 1.

    Voila merci

    Je ne sais pas si mon explication est clair je mets en pièce jointe les dossier.

    Le but serait de pas trop touché à ma macro original.

    Merci d'avance à tous

    PS : J'ai déjà eu de super conseil après des messages déposés sur ce forum, j'espère que pour cette discussion les réponses seront aussi rapide et efficace.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Par défaut
    Bonjour
    2 solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("A11:B65536").ClearContents
    qui supprime le contenu de toutes les cellules de la plage

    l'autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("A11:B65536").SpecialCells(xlCellTypeConstants, 1).ClearContents
    qui ne supprime le contenu que des cellules qui contiennent un constante numérique

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Par défaut
    Merci pour ton aide, je vais cependant continuer à abuser de ta gentillesse

    J'ai donc écrit le code ci dessous, mais j'ai un petit problème.
    Si il y a du texte numérique, parfait ta ligne marche cependant, si par exemple mes cellules Range("A11:B65536") sont vides, le code m'envoi un message d'erreur.

    Si il y a des information il faudrait que les cellules soient éfaccées et que le reste du vb passe. De plus si il n'y avait pas de cellules à éffacer (pas de contnu numérique), il faudrait que le code puisse quand même passer.

    Désolé je suis pas très doué et je débute.

    Je te fais parvenir le fichier avec l'erreur en pièce jointe.

    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 consolide()
      ChDir ActiveWorkbook.Path
      Set recap_DELAM = ActiveWorkbook
     
      compteur = 1
     
       Range("A11:B65536").SpecialCells(xlCellTypeConstants, 1).ClearContents
     
      nf = Dir("*DELAMIN.xls")
      Do While nf <> ""
        If nf <> recap_DELAM.Name Then
          Workbooks.Open Filename:=nf
          recap_DELAM.Sheets(1).Cells(compteur + 10, 1) = Workbooks(nf).Sheets("Feuil1").Range("G59").Value
          recap_DELAM.Sheets(1).Cells(compteur + 10, 2) = Workbooks(nf).Sheets("Feuil1").Range("G62").Value
          compteur = compteur + 1
          Workbooks(nf).Close False
        End If
        nf = Dir
      Loop
    End Sub
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Par défaut
    Re
    Utilise les balises pour ton code (#) ; je me suis fait avoir quand j'ai débuté sur le forum, je te conseille vivement de lire le premier message (A LIRE IMPERATIVEMENT)

    Sinon, pour ton pb la solution consiste à demander à Excel d'ignorer l'erreur si il y en a une

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        On Error Resume Next ' désactive les erreurs
        Range("f25:i32").SpecialCells(xlCellTypeConstants, 1).Select
        On Error GoTo 0 ' réactive les erreurs

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Par défaut
    Qu'appelles tu balises?

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Regarde ce lien
    http://www.developpez.net/forums/d55...mode-dedition/

    Pour savoir ce qu'est une balise wikipedia et ton ami
    Citation Envoyé par WIKIPEDIA
    en informatique, la balise est un caractère, ou une série de caractères, utilisé pour la structuration d'un document et qui sera invisible par le lecteur final
    Source

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

Discussions similaires

  1. [XL-2013] macro copier, effacer des cellule et coller à la suite
    Par mimi13580 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/11/2014, 14h26
  2. [XL-2010] Effacer des cellules sous conditions + remonter des données
    Par Sebiwan67 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/08/2014, 14h46
  3. Comment effacer des cellule après modification d'une cellule
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/03/2009, 08h51
  4. Effacer des cellules en fonction de la date
    Par jarault dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/04/2008, 12h08
  5. Effacer des formes automatiques
    Par Del4king dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/07/2007, 18h08

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