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 :

Rows Font Bold True


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut Rows Font Bold True
    Bonjour à tous voici mon code:

    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
    Dim max As Long
    Dim indice As Long
    Dim flag_total As Boolean
     
    flag_total = False
    indice = 2
     
    max = ActiveSheet.Range("A100").End(xlUp).Row 'pas besoin de plus que 100
    Do While indice < max + 1
     
     Select Case True
            Case flag_total
                'Nouvel ajout pour le caractère gras
                Rows(indice - 1).Font.Bold = True
                'fin ajout
                Rows(indice).Insert Shift:=xlDown
                flag_total = False
                max = max + 1
            Case UCase(Left(Range("A" & indice), 5)) = "TOTAL"
                flag_total = True
            Case Else
     End Select
    indice = indice + 1
    Loop
    Ce code n'est pas de moi. A tout seigneur, tout honneur, il est de Godzestla (encore une fois merci).

    Voici ce qui cloche. J'ai fait un ajout (indiqué dans le code) pour rendre la ligne en gras. Je fais l'ajout dans le code d'ajout de ligne et je pense que c'est cela qui cloche. Cela fonctionne bien sauf pour la dernière ligne. Quelqu'un a-t-il une idée. (j'ai essayé plusieurs tours de passe-passe, mais ma magie n'est pas au point). Comme je l'ai déjà dit, je fait du VBA par obligation, pas par plaisir (quoique j'aime bien en faire)

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Désolé ça marche pas

  3. #3
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Je m'en doutais pour ce que j'ai voulu effacé mon message en men rendant compte pour t'éviter de perdre du temps, désolé

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Peut etre ainsi
    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
    Sub Test()
     
    Dim max As Long
    Dim indice As Long
    Dim flag_total As Boolean
     
    flag_total = False
    indice = 2
     
    max = ActiveSheet.Range("A100").End(xlUp).Row 'pas besoin de plus que 100
    Do While indice < max + 1
     
     Select Case True
            Case flag_total
                'fin ajout
                Rows(indice).Insert Shift:=xlDown
                flag_total = False
                max = max + 1
            Case UCase(Left(Range("A" & indice), 5)) = "TOTAL"
                flag_total = True
                'Nouvel ajout pour le caractère gras
                Rows(indice).Font.Bold = True
            Case Else
     End Select
    indice = indice + 1
    Loop
    End Sub
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    me revoilou,

    2 commentaires :

    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    max = ActiveSheet.Range("A100").End(xlUp).Row 'pas besoin de plus que 100
    mauvaise modif de ta part. remets comme c'était à A65535. Pas d'impact sur la vitesse et permets de dépasser les 100 lignes (cela arrivera et tu ne comprendras pourquoi cela plante).

    2) pour ton problème, je ne comprends pas pourquoi cela ne marche pas sur la dernière ligne, mais j'aurais fait autrement personnelement :

    (j'en profite pour remmettre A65535)
    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
    Dim max As Long
    Dim indice As Long
    Dim flag_total As Boolean
     
    flag_total = False
    indice = 2
     
    max = ActiveSheet.Range("A65535").End(xlUp).Row 'pas besoin de plus que 100
    Do While indice < max + 1
     
     Select Case True
            Case flag_total
                Rows(indice).Insert Shift:=xlDown
                flag_total = False
                max = max + 1
            Case UCase(Left(Range("A" & indice), 5)) = "TOTAL"
                flag_total = True
                'Nouvel ajout pour le caractère gras
                Rows(indice).Font.Bold = True
               'Fin Ajout
            Case Else
     End Select
    indice = indice + 1
    Loop
    Chez moi cela fonctionne

    Edit---------------
    Oops Grilllé par Qwazerty.
    Je croyais que tu étais parti. Vite revenu alors.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Qwazerty, malgré ton jeune age, tu viens de te hisser au rang des king comme Godzestla

    Merci beaucoup

  7. #7
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Alléluia tout arrive donc bien un jour ^^
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Godzestla, je me fous bien de la vitesse, mais comme on fait le bilan à tous les mois, ca ne dépassera pas 100. Pourquoi ca planterait?

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    je me suis mal exprimé,
    le fait de mettre 65535 permet de pouvoir réutiliser le même code quel que soit le module, sans avoir à se tracasser sur le max de lignes qu'on va utiliser.
    Il faut juste choisir la bonne colonne.

    Partout, tu trouveras du code avec 65000 ou 65535.
    Je préfère un code portable, mais c'est une question de goùt.

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Thank's pour l'info

  11. #11
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Re
    Pour un code encore plus portable (nouvelles version excel (que je n'utilisent pas mais bon)) tu peux même mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    max = ActiveSheet.cells(rows.count,"A").End(xlUp).Row
    comme ça que ton fichier est un max de lignes de 65K ou 2000K, ça n'a plus d'importance et ça ne ralenti pas le code en effet.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  12. #12
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Qwaz for President.

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

Discussions similaires

  1. [Flex4] Embedded font avec cff=true dans un fichier swf
    Par Gaaaga dans le forum Flex
    Réponses: 0
    Dernier message: 07/12/2010, 13h35
  2. Réponses: 5
    Dernier message: 09/06/2009, 18h15
  3. Asian fonts : pas de "bold" ?
    Par Gaaaga dans le forum Flex
    Réponses: 3
    Dernier message: 29/09/2008, 13h24
  4. comportement curieux font-bold sous ffx ?
    Par SpaceFrog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 22/06/2006, 12h51
  5. .style.font-weight='bold' en JS
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/12/2005, 14h48

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