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 :

VBA Trouver le format d'une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Par défaut VBA Trouver le format d'une cellule
    Bonjour,

    J'ai un fichier excel avec des chiffre 1,2,3,... et j'aimerais faire apparaitre en fond jaune les cellules ne respectant pas la forme '0001', '0002', '0003' etc ...
    Pour cela j'aimerais fixer un boutton qui lorsqu'on clique dessus rend toutes les cellules à ce format. Le nombre sera compris entre '0000' et '9999'. Et si je rencontre un doublon je le mets en rouge.

    Quelqu'un pourrait m'aider pour réaliser ce code ?

    Merci d'avance de votre aide

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Pour le format, je ne saurais pas trop t'orienter, mais pour la recherche de doublons, tu peux utiliser une liste des nombres visités et des nombres qui sont en double :

    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
    36
    37
    Sub doublons()
        Dim listVisit(1) As String
        Dim listDouble(1) As String
        Dim i As Long     'taille liste des visités
        Dim j As Long     'taille liste des doublons
        Dim cel As Range
        i = 0
        j = 0
     
        'boucle sur la plage de données pour repérer les doublons
        For Each cel In Range("A1:A100")
            If i = 0 Then       'on met la 1ère cellule dans la liste des visités
                listVisit(i) = cel.Value
                i = i + 1
                Next Cel
            End If
     
            If Application.Match(cel.Value, listVisit, 0) <> 0 Then    'si l'élément est déjà dans la liste des visités --> on l'ajoute à la liste des doublons
                If j <> 0 Then      'on vérifie s'il y a déjà un élément dans la liste des doublons, si oui, il faut redimensionner la liste
                    ReDim Preserve listDouble(j)
                End If
                listDouble(j) = cel.Value       'ajout dans la liste des doublons
                j = j + 1
            Else        'si l'élément n'a pas encore été visité : on l'ajoute à la liste des visites.
                ReDim Preserve listVisit(i)
                listVisit(i) = cel.Value
            End If
        Next cel
     
        'boucle sur la plage des données pour colorer les doublons
        For Each cel In Range("A1:A100")
            If Application.Match(cel.Value, listDouble, 0) <> 0 Then
                'colorer --> voir avec l'enregistreur de macro comment colorer
            End If
        Next cel
     
    End Sub

  3. #3
    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
    Pour les doublons, le plus simple est d'utiliser les mises en forme conditionnelles : 10 s à mettre en place sans VBA.

  4. #4
    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
    Et pour ce qui est des cellules dont on veut vérifier la "forme" : prière de préciser si elles doivent être à un format de cellule ou si doivent être acceptées également des cellules qui auraient été saisies sous cette forme et préciser également si les données qu'elles contiennent doivent être des NUMERIQUES ou du texte (alphanumériques, donc).
    Car ce n'est pas la même chose et les vocations peuvent être très différentes dans un cas et dans l'autre.

  5. #5
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Par défaut
    Bonjour,

    Concernant le format des cellules, elles doivent être à ce format : 0000 jusqu'à 9999 c'est à dire que si l'on rentre un numéro 1, celui-ci doit être convertit par 0001
    Le format est bien numérique

  6. #6
    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
    donne alors tout simplement le format 000# aux cellules concernées.

Discussions similaires

  1. [XL-2007] VBA changer de format d'une cellule
    Par james6006 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2014, 08h34
  2. [VBA-E]copier le format d'une cellule
    Par fabrice44 dans le forum Général VBA
    Réponses: 6
    Dernier message: 09/05/2007, 12h03
  3. [VBA-E] vérifier le format d'une cellule
    Par jouf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/06/2006, 20h51
  4. [VBA-E]changer le format d'une cellule dans un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 13/02/2006, 11h12
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 10h18

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