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 :

Detecter les cellules en gras et leur affecter une lettre suivant leurs positions


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 12
    Par défaut Detecter les cellules en gras et leur affecter une lettre suivant leurs positions
    bonjour
    Je souhaite pouvoir détecter les cellules en gras d'une colonne et lui affecté une valeur suivant sa postion dans une case définie (l'espace libre entre chaque serie).
    Dans mon tableau il y a une série de cellules avec des chiffres puis un espace puis a nouveau des chiffres puis un espace etc... Donc ca marche par bloc de 4 cellules et un espace. Les cellules en gras sont toujours en 2,3 ou 4eme position.

    Par exemple mon tableau est comme ca
    2.72
    1.8
    4
    5.6

    2.56
    2
    6
    1.6
    ...

    Si la cellule en gras est en deuxieme position mettre la lettre "D", si en troisieme position "N" et en quatrieme "E".
    Pour obtenir ca:
    2.72
    1.8
    4
    5.6
    D
    2.56
    2
    6
    1.6
    E
    ...

    Débutant totalement sur VBA, j'ai cherché et j'ai essayé de faire mon code mais bon ca 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub gras()
     
    Dim i,j,r As Integer
     
    i = 2
    Do While Cells(i, 1) <> ""
    i = i + 5
    Loop
     
    If Cells(i, 1).Font.Bold = True Then
     
        Cells(i + 3, 1).Value = "D"
     
    End If
     
    j = 3
    Do While Cells(j, 1) <> ""
    j = j + 5
    Loop
     
    If Cells(j, 1).Font.Bold = True Then
     
        Cells(j + 2, 1).Value = "N"
     
    End If
     
    r = 4
    Do While Cells(r, 1) <> ""
    r = r + 5
    Loop
     
    If Cells(r, 1).Font.Bold = True Then
     
        Cells(r + 1, 1).Value = "E"
     
    End If
     
    End Sub
    Si quelqu'un peut m'aider?
    Merci

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Tu peu essayé...
    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
    Sub SiGras()
    Dim i As Integer
    Dim e As Integer, g
    g = Array("F", "D", "N", "E")
     
    Sheets("Feuil1").Select
    i = 1
        Do While Cells(i, 1) <> ""
            For e = 1 To 3
                If Cells(i + e, 1).Font.Bold = True Then
                    Stop ' pour faire du pas à pas, tu peu enlever quand tester.
                    Cells(i + 4, 1).Value = g(e)
                    Exit For
                End If
            Next e
        i = i + 5
        Loop
     
    End Sub
    Tu dit...
    A+
    EDIT:
    1ère remarque
    n'est pas une déclaration complète, il faut mettre chaques fois...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim i As Integer, j As Integer, r As Integer
    2ém remarque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Do While Cells(i, 1) <> ""
            i = i + 5
        Loop
    Tu boucle D'ABORD et ensuite tu met des conditions.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 12
    Par défaut
    Merci je devrais pouvoir me débrouiller

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Te débrouillé ?
    T'a juste à coller le code, je l'ai testé et il fonctionne.
    Et pas oublié le tag RESOLU si le réponse te convient.
    A+

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

Discussions similaires

  1. [Toutes versions] rajouter deux 0 dans toutes les cellules d une colonne sans effacer leur contenues
    Par mikeactuaire dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2011, 14h31
  2. [PHPExcel] Agrandir les cellules en fonction de leur contenu
    Par KDZCrew dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 04/05/2011, 12h08
  3. [XL-2003] masquer les colonnes dont toutes les cellules VISIBLES ont leur valeur="N"
    Par sylvaine dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 04/03/2011, 11h57
  4. Afficher les pseudos qui ne commencent pas par une lettre.
    Par asoka13 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/07/2007, 17h30
  5. [VBA]Compter les cellules selon leurs couleurs...
    Par ronron1978 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/01/2006, 15h27

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