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 :

Appliquer un format "barré" à une valeur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club Avatar de Mooohfr
    Homme Profil pro
    Technicien en production industrielle
    Inscrit en
    Avril 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien en production industrielle
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2020
    Messages : 17
    Points : 7
    Points
    7
    Par défaut Appliquer un format "barré" à une valeur
    Bonjour,

    Quelqu'un peut il me dire si un format peut s'appliquer à une variable ?

    Avec mon code, je concatène plusieurs cellules. Sous chacunes de ces cellules se trouvent un texte ou pas.
    Si il y'a un texte sous la cellule , alors la valeur de la cellule est barrée sinon elle ne l'est pas.

    Si sous ma cellule RE il y'a un texte alors le RE sera barré.

    Au final, je souhaiterai que dans une cellule je puisse avoir par exemple " DO - RE- MI ".
    J'a esssayé avec .font.strikethrough mais pas de résultat.

    Merci à tous,


    Exemple
    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
    Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
     
    Dim i As Integer
    Dim contenu_ret As String
    Dim operation As String
     
     
    ' je fais une boucle pour mettre à jour la colonne ret de la feuille courante
     
    For i = 1 To txt_compteur_op_ret
     
        operation = Range(cellule_ref).Offset(0, i + 8).Value
     
        If Range(cellule_ref).Offset(1, i + 8).Value = "" Then
                contenu_ret = contenu_ret & operation.font.strikethrough 
        Else
            contenu_ret = contenu_ret& operation.font.strikethrough 
        End If
     
    Next i
     
    MsgBox contenu_ret
     
     
    End Sub

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Si tu veux barrer une partie du contenu d'une cellule, tu ne peux pas te contenter de travailler au niveau Value de la cellule. Il faut descendre au niveau Character.
    Lire ceci : https://msdn.microsoft.com/fr-fr/lib...2(v=office.15)
    et ceci : https://msdn.microsoft.com/fr-fr/lib...8(v=office.15)
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Futur Membre du Club Avatar de Mooohfr
    Homme Profil pro
    Technicien en production industrielle
    Inscrit en
    Avril 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien en production industrielle
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2020
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Merci à toi j'ai testé d'abord sur une seule cellule juste pour m'approprier la méthode

    Maintenant je n'arrive pas à récuperer le résultat de chaque boucle dont la valeur est <> ""
    L'idée est en orange mais je n'arrive pas à la mettre en place.

    Merci à toi,

    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
    Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
     
    Dim i As Integer
    Dim contenu_ret As String
    Dim operation As String
     
     
    ' je fais une boucle pour mettre à jour la colonne ret de la feuille courante
     
    For i = 1 To txt_compteur_op_ret
     
        operation = Range(cellule_ref).Offset(0, i + 8).Value
     
        If Range(cellule_ref).Offset(1, i + 8).Value = "" Then
                contenu_ret = contenu_ret & operation
        Else
        contenu_ret = With cells(ligne_selectionnee_wip, colonne_repere_lancement - 1)
        .Value = Range(cellule_ref).Offset(0, i + 8)
        .Characters().Font.Strikethrough = True
        End With
        End If
     
    Next i
     
    MsgBox contenu_ret

Discussions similaires

  1. [XL-2010] Appliquer Format Date "JJ/MM/AA" valeur retourner par une TextBox VBA
    Par ti_mouton dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/06/2015, 14h10
  2. Réponses: 2
    Dernier message: 28/10/2010, 10h30

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