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

Excel Discussion :

Automatiser mise en forme cellule


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2014
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 94
    Points : 39
    Points
    39
    Par défaut Automatiser mise en forme cellule
    bonjour,
    j'ai un fichier excel dont les cellules qui le composent sont représentées ci dessous
    je voudrai automatiser la mise en forme (mettre seulement en gras N°001 et augmenter sa taille)de ces cellules car il yen a des centaines
    merci

    une cellule contient ceci:

    centre hôpital
    centre sante
    N°001
    date 21/02/2010

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une solution possible avec ce code dénombrant les caractères chr(10) "retour à la ligne" et qui met en gras les caractères compris entre les 2ème et 3ème chr(10) :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Sub MettreEnGrasLeNumeroDansLaCellule()
     
    Dim NbChr10 As Integer
    Dim J As Integer
    Dim PositionPremierCaractere As Integer
    Dim PositionDernierCaractere As Integer
     
    Dim ShAModifier As Worksheet
    Dim AireAModifier As Range
    Dim CelluleAModifier As Range
    Dim DerniereLigneTableau As Long
    Dim ColonneAModifier As Long
    Dim LigneDeTitre As Long
     
        Set ShAModifier = Sheets("Feuil1")
        LigneDeTitre = 1
        ColonneAModifier = 1
        DerniereLigneTableau = ShAModifier.Cells(ShAModifier.Rows.Count, ColonneAModifier).End(xlUp).Row
     
        With ShAModifier
                Set AireAModifier = .Range(.Cells(LigneDeTitre + 1, ColonneAModifier), .Cells(DerniereLigneTableau, ColonneAModifier))
     
                For Each CelluleAModifier In AireAModifier
     
                        NbChr10 = 0
                        PositionPremierCaractere = 0
                        PositionDernierCaractere = 0
     
                        If CelluleAModifier <> "" Then
                            For J = 1 To Len(CelluleAModifier)
     
                                If Mid(CelluleAModifier, J, 1) = Chr(10) Then
                                    NbChr10 = NbChr10 + 1
                                    If NbChr10 = 2 Then PositionPremierCaractere = J + 1
                                    If NbChr10 = 3 Then PositionDernierCaractere = J - 1
                                End If
                            Next J
     
                            ' Au cas où il n'y aurait pas de date
                            If NbChr10 = 2 And Len(CelluleAModifier) > PositionPremierCaractere Then PositionDernierCaractere = Len(CelluleAModifier)
     
                          '  MsgBox NbChr10 & Chr(10) & PositionPremierCaractere & Chr(10) & PositionDernierCaractere
     
                            If PositionPremierCaractere > 0 And PositionDernierCaractere > 0 Then
                                With CelluleAModifier.Characters(Start:=PositionPremierCaractere, Length:=PositionDernierCaractere - PositionPremierCaractere + 1).Font
                                    .Name = "Verdana"
                                    .Size = 14
                                    .Bold = True
                                End With
                            End If
     
                        End If
     
                Next CelluleAModifier
        End With
     
        Set AireAModifier = Nothing
        Set ShAModifier = Nothing
     
    End Sub
    Cordialement.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2014
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 94
    Points : 39
    Points
    39
    Par défaut
    Merci de la réponse
    mais où je mets le code

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Feuztoff Voir le message
    mais où je mets le code
    Bonjour,

    Il vous faut coller cette macro dans un module standard de votre fichier (Alt-F11 pour accéder à l'éditeur VBA, puis insertion module). Il vous faut modifier également le nom de la feuille et éventuellement le numéro de la ligne de démarrage. Si vous devez sauvegarder cette macro dans le fichier, celui-ci doit être de type .xls ou .xlsm.

    Cordialement.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2014
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 94
    Points : 39
    Points
    39
    Par défaut
    j'ai exécuté le macro mais ca marche sur une seule cellule alors que j'en ai des centaines de cellules à faire
    comment procéder

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Feuztoff Voir le message
    j'ai exécuté le macro mais ca marche sur une seule cellule alors que j'en ai des centaines de cellules à faire
    comment procéder
    Bonjour,

    Le code travaille par rapport à une colonne. Si vos données sont toutes sur une ligne, c'est logique qu'une seule cellule soit transformée. Il faudrait donc indiquer l'aire des données à modifier.

    Cordialement.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2014
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 94
    Points : 39
    Points
    39
    Par défaut
    j'ai du mal à déterminer la plage de cellules concernée dans le code (Exemple A2--->D4)
    pouvez vous m'aidez SVP

  8. #8
    Invité
    Invité(e)
    Par défaut Quelle est l'aire des cellules à transformer ?
    Bonjour,

    Dans votre fichier, quelle est l'aire des cellules à transformer et le nom de la feuille ?

    Cordialement.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous en êtes où ?

    Cordialement.

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2014
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 94
    Points : 39
    Points
    39
    Par défaut
    Merci beaucoup, j'ai finalement trouvé
    Maintenant je voudrai que le N° en gras soit mis automatiquement et incrémenté par 1 dans le sens horizontal sur une plage de 700 cellules (ex. A1170)
    merci encore

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pour toute nouvelle demande, faites un nouveau message.

    Cordialement.

Discussions similaires

  1. Réponses: 16
    Dernier message: 11/12/2013, 12h20
  2. [AC-2003] Mise en forme cellule tableau word
    Par noratec dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/04/2010, 15h36
  3. Mise en forme cellule TableLayoutPanel
    Par bib34690 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 03/04/2009, 08h37
  4. Formule "SI" et mise en forme cellule LISTVIEW
    Par fidecourt dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 27/03/2009, 11h03
  5. Mise en forme cellule et condition
    Par Shadow5 dans le forum Excel
    Réponses: 1
    Dernier message: 21/03/2008, 11h56

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