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 :

Masquer des cellules si la cellule au-dessus à la même valeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut Masquer des cellules si la cellule au-dessus à la même valeur
    Bonjour le forum,

    Je vous explique mon petit problème : Dans mon tableur j'ai ca comme valeur :
    N°Devis Code client Référence Quantité Prix .....
    257 tttttttttt 56 ttttttttTSX37 ttttttt2 tttt 254.45
    257 ttttttttttt56tttttttt TSX57 tttttt 3 tttt589.35
    257ttttttttttt 56tttttttt M340 ttttttt 1 tttt 256.31
    258ttttttttttt 78 ttttttttS7400 tttttt 2 ttttt425.26
    258ttttttttttt 78 ttttttttTwido tttttt 1 ttttt254.26

    Donc voila à quoi ressemble mon tableur (les données viennent d'une requète Access).
    Tout le tableau vient d'Access, mais moi je voudrai que ce que j'ai mis en orange soit masqué ou avec un format de couleur blanc (de manière à ce que l'on ne voye pas les valeurs mais que l'on puisse tout de même trier les colonnes du tableau sans tout mélanger).

    J'espère mettre bien exprimé.

    Cordialement,
    Bubut

  2. #2
    Inactif Avatar de franck.automaticien
    Inscrit en
    Février 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2004
    Messages : 238
    Points : 106
    Points
    106
    Par défaut
    Bonjour,

    Comment différencis tu les variable orange des autres?
    Cordialement
    Franck

  3. #3
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour Bubut

    On ne peut pas masqué une cellule simple, une ligne ou une clonne oui mais une cellule seule non

    Il y a neanmoin un moyen de tricher en coloriant la couleur de caracteres de la meme couleur que la couleur de fond

    une simple Mse en forme condtionnelle suffit

    imaginons colonne A et B : je selectonne A2:B N° de derniere ligne

    Menu Format / Mise en forme conditinnelle

    La formule est : =(A2 = DECALER(A2;-1;0))=VRAI

    Choisir en format lanc sur blanc

    Valider

    Codialement


    Oups : pas vu, Bonjour Franck
    Wilfried

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Bonjour franck.automaticien et wilfried_42

    Pour franck.automaticien, il y a rien qui différencis les variables oranges des autres.

    Il y a pas moyen que l'on pose une condition en lui disant par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim i as integer
     
    If Ai.value = Ai+1 then
    ColorIndex = 2 'blanc]
    Je suis du genre mauvais en programmation, je pense que vous comprennez ce que je veux dire.

    Cordialement,
    Bubut

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Regarde .
    Le code supprime les doublons. Tu remplaces simplement la suppression par la "décoloration" de ta ligne.
    c'est à dire .delete par .Interior.ColorIndex = xlNone
    Les différents codes se valent

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Ok je regarde merci beaucoup ouskel'n'or et tout le monde.

    Je retiens au courant sur cette discussion

    Cordialement,
    Bubut

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Merci ouskel'n'or,

    ça fonctionne bien voila le code que j'ai mis :
    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 effacer_bdoublon()
    'pour enlever les trous, on classe d'abords la colonne par ordre alphabétique ou inverse
    Range("A1:K10").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
     
    'on compte nombre de ligne
    nb_ligne = 1
    While Cells(nb_ligne, 1) <> ""
        nb_ligne = nb_ligne + 1
    Wend
     
    'on enlève les doublons:
    For i = 2 To nb_ligne
        If Cells(i, 1) = Cells(i - 1, 1) Then
            Rows(i & ":" & i).Select
            Selection.Font.ColorIndex = 2
        End If
    Next i
    End Sub
    Le seul petit souci, s'est qu'il met en blanc toute la ligne, et que moi je voudrai que ce soit de la colonne A à la colonne k incluse.

    Cordialement,
    Bubut

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    2nd souci :
    Donc mon tableau vient d'une requète provenant de Access, et donc pour le maitre à jour il faut faire un clic droit puis "Actualiser les données". Donc le hic est qu'il me met les nouvelles valeurs en blanc (donc invisible).

    Je voudrai savoir si il y a possibilité lors de l'actualisation du tableau de mettre les nouvelles valeurs en noir ou un moyen en tout les cas.

    Cordialement,
    Bubut

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    J'ai une minute pour répondre à ta première question
    Rows(i & ":" & i).Select
    Selection.Font.ColorIndex = 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & i & ":K" & i).Font.ColorIndex = 2
    Bon après-midi

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Super ouskel'n'or c'est nikel.

    Je vais essayé de voir pour mon second problème, je retiens au courant.

    Cordialement,
    Bubut

  11. #11
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 314
    Points
    314
    Par défaut
    sinon tu supprimes la valeur ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Do Until Cells(Ligne, Colonne) = Empty
        Valeur = Cells(Ligne, Colonne)
        Ligne = Ligne + 1
        While Cells(Ligne, Colonne) = Valeur
            Cells(Ligne, Colonne) = ""
            Ligne = Ligne + 1
        Wend
    Loop
    par contre, a faire dans l'ordre inverse de ta base .

    je m'explique si tu veux faire ca sur une base de donnée et que tu as par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sportif     Tennis     24    Celib
    Faineant    Tennis     22    Marie
    Faineant     Polo      16    Celib
    il va supprimer aussi bien le deuxieme rouge que le deuxieme vert ! (alors que le tuple est pas le meme ^^)

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Je ne peu pas supprimer les valeurs car après il faudra que je fasse des tries et si une cellule est supprimé il va mélanger au fur et à mesure.

    Merci de ta réponse

    Cordialement,
    Bubut

  13. #13
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 314
    Points
    314
    Par défaut
    oki ^^

    sinon fais une macro qui remet à plat toutes les couleurs de police lorsque tu as chargé ta nouvelle base

  14. #14
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re

    excusez mais je crois que la formule sur MFC fonctionne mais bon si vous voulez de la macro !!

    bonne soirée
    Wilfried

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Salut mordrhim,

    je sais pas comment remettre à plat toutes les couleurs de police lors du chargement de la base.

    Salut wilfried_42, c'est quoi la formule sur MFC ???


    Cordialement,
    Bubut

  16. #16
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Worksheets(NomDeLaFeuille).Cells.ColorIndex = xlAutomatic

  17. #17
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 314
    Points
    314
    Par défaut
    Bonjour,
    Tu fais une tout petite mini macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Init()
     
        With Cells
            .Font.ColorIndex = 0
            .Interior.ColorIndex = 0
        End With
     
    End Sub
    Ce macro met TOUTES les cellules de la feuille active au format par défaut (sans fond, police noire)

    Si tu ne veux faire ça que pour une certaine valeur, tu remplaces par XX étant la première cellule et YY la dernière de la plage que tu veux remettre à zéro.


    PS EDIT: Bonjour Ouskel ^^ avais oublié de valider le message lol ^^

  18. #18
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Super mordrhim et ouskel'n'or, c'est super cool.

    Dernière chose, pour le mettre sur ouverture ce n'est pas comme ça je présume:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Open(Cancel As Integer)
        With Cells
            .Font.ColorIndex = 0
            .Interior.ColorIndex = 0
        End With
    End Sub
    Ca ça ne fonctionne pas

  19. #19
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Qu'entends-tu par là ?
    pour le mettre sur ouverture

  20. #20
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 24
    Points
    24
    Par défaut
    Sur ouverture du fichier

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VxiR2] Masquer des cellules
    Par chipounet dans le forum Deski
    Réponses: 20
    Dernier message: 15/09/2010, 14h07
  2. [V5] Masquer des cellules
    Par MikaelBO dans le forum Deski
    Réponses: 2
    Dernier message: 04/09/2009, 11h31
  3. Datagridview: Masquer des cellules sur certaines lignes
    Par boby62423 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 27/04/2009, 14h57
  4. Réponses: 5
    Dernier message: 01/12/2008, 14h20
  5. [Formule]Macro pour masquer des formules dans une cellule
    Par Hellx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2007, 08h21

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