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 :

Bouton Clear pour supprimer contenu des cellules [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    BOGA
    Inscrit en
    Avril 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BOGA
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2011
    Messages : 24
    Points : 10
    Points
    10
    Par défaut Bouton Clear pour supprimer contenu des cellules
    Bonjour, je veux réaliser un bouton commande pour effacer toutes les cellules contenant les valeurs "OK" ou "KO" et les remettre sur un fond blanc comme par défaut.

    Voici un code que j'ai réalise mais qui marche pas:
    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
    Public Sub Clear()
    Dim plage As Range
    Dim i As Integer
    Dim tb As Variant
     
    With Activeworkbook.Sheets(1)
    	tb = Array("OK", "KO")
    	For i = 0 To 1
    		Set plage = .Cells.Find(tb(i), LookIn:=xlValues, lookat:=xlWhole)
    	Next i
     
    	With plage
    		.ClearContents
    		.Interior.ColorIndex = 2
    	End With
    End With
     
    End Sub
    Pouvez vous m'aider svp

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Il faut gérer les cellules fusionnées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim rg As Range
     
    For Each rg In Range("A1:C3")
        If rg.Value = "OK" Or rg.Value = "KO" Then
            If rg.MergeCells = True Then
                rg.MergeArea.Clear
            Else
                rg.Clear
            End If
        End If
    Next
    Jérôme

  3. #3
    Membre à l'essai
    Homme Profil pro
    BOGA
    Inscrit en
    Avril 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : BOGA
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2011
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    salut, mais moi je veux travailler sur toute la feuille, t'a une idée comment on peut traduire ceci sur la ligne 3 ?

    -----------------------------------------

    C'est bon j'ai mis
    et c'est résolu merci beaucoup de ton aide

  4. #4
    Membre habitué Avatar de Orhleil
    Homme Profil pro
    Intégrateur fonctionnel
    Inscrit en
    Mai 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Intégrateur fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 81
    Points : 152
    Points
    152
    Par défaut
    Citation Envoyé par boguista1985 Voir le message
    C'est bon j'ai mis
    et c'est résolu merci beaucoup de ton aide
    Il me semble qu'en faisant ça Excel parcourt vraiment l'intégralité des cellules de la feuille, utiliser UsedRange serait plus approprié (le plus petit Range "rectangulaire" contenant toutes les cellules contenant une valeur).
    Et puis je te conseillerais de toujours déclarer sur quoi tu appliques ton Range. Par exemple Me.Range ou NomDeLaFeuille.Range.

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

Discussions similaires

  1. [PHP-JS] bouton reset ne supprimant pas des champs avec value
    Par SegmentationFault dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2006, 14h52
  2. Remplacer le contenu des cellules de destination
    Par cyraile dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/11/2006, 08h23
  3. Réponses: 2
    Dernier message: 19/06/2006, 14h05
  4. [VBA]comptage de lignes en fonction du contenu des cellules
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/12/2005, 11h38
  5. [JTable]Aligner le contenu des cellules
    Par )3lade dans le forum Composants
    Réponses: 2
    Dernier message: 09/03/2004, 13h24

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