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 :

Initialiser un tableau sans supprimer les formules


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Par défaut Initialiser un tableau sans supprimer les formules
    Bonjour,

    Voilà j'ai un tableau où je rentre des groupes d'inscrits, dans certaines cellules j'ai des listes déroulantes, dans d'autres j'ai des calculs comme le calcul de l'âge en fonction de la date de naissance, j'ai aussi des mises en forme définit dans une macro par groupe.
    Je souhaiterais ajouter un bouton effacer pour à chaque fois que j'en ai besoin remettre mon fichier à zéro. C'est à dire supprimer les groupes, leurs données mais aussi la mise en forme (couleur, bordure etc...). Par contre je souhaite garder mes listes déroulantes et surtout mes formules dans mes cases.
    J'ai essayé plusieurs fonctions mais ca supprime toutes les valeurs de mes cases et également les formules. Je ne vois pas comment faire. Si quelqu'un peut me donner un coup de pouce ce serait très sympa car là je bloque.
    Le fichier est assez gros, du coup je l'ai zippé en .rar
    Il est accessible via le lien:
    http://dl.free.fr/getfile.pl?file=/ig4iAG5i

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    Une piste à tester sur une copie de votre classeur
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub Effacer_pmo()
    Dim S As Worksheet
    Dim R As Range
    Dim R_Formules As Range
    Dim R2 As Range
    Dim C As Range
    Dim LastLig&
    Dim LastCol&
     
    Set S = ActiveSheet
    LastLig = S.Cells(Rows.Count, 1).End(xlUp).Row            'Valeur à ajuster
    LastCol = S.Cells(1, Columns.Count).End(xlToLeft).Column
    '--- Désactive l'évènementiel ---
    Application.EnableEvents = False
    '--- Toute la plage sauf les lignes de titres 1 et 2 ---
    Set R = S.Range(S.Cells(3, 1), S.Cells(LastLig, LastCol))
    R.UnMerge         'supprime les fusions
    R.ClearFormats    'supprime les formats
    '--- Le Range des Formules ---
    Set R_Formules = R.SpecialCells(xlCellTypeFormulas, 23)
    '--- Pour touver la plage des cellules qui ne sont pas des formules ---
    For Each C In R
      If Application.Intersect(C, R_Formules) Is Nothing Then
        If R2 Is Nothing Then
          Set R2 = C
        Else
          Set R2 = Application.Union(R2, C)
        End If
      End If
    Next C
    '---
    R2.ClearContents  'supprime les valeurs
    '--- Active l'évènementiel ---
    Application.EnableEvents = True
    End Sub

Discussions similaires

  1. [XL-2003] Supprimer des données sans effacer les formules sur plusieurs feuilles
    Par graphikris dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/04/2013, 11h18
  2. supprimer une ligne sans influencer les formules
    Par macpascal dans le forum Excel
    Réponses: 1
    Dernier message: 11/06/2009, 23h23
  3. [Requête/SQL]Mise à jour table sans supprimer les relations
    Par atlantideD dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/04/2007, 14h53
  4. [VBA-E]Recopier un tableau en supprimant les plages vides
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 16/02/2007, 16h13
  5. Réponses: 5
    Dernier message: 07/10/2006, 02h44

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