XL 2016 Remplacement valeur cellule

  • Initiateur de la discussion Initiateur de la discussion pierrof
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pierrof

XLDnaute Occasionnel
Bonjour à tous,

Je souhaite suivre le nombre d'heure de formation de "joueurs", pour cela je dispose d'un tableau de suivi de formations.
Sur ce tableau j'aimerais que la valeur "x" indiquant que le joueur à participé à la formation, prenne la valeur en heure de la formation, or cette valeur et dans le texte de l'en-tête de la colonne et peut être entre parenthèse ou pas. le tableau peux être de dimensions différentes...

Je laisse un fichier exemple pour plus de clarté.

Merci d'avance pour votre aide.

Cordialement
 

Pièces jointes

Bonjour Pierrof,
Un essai en PJ avec :
VB:
Private Sub CommandButton1_Click()
    Dim DL%, L%, C%
    Application.ScreenUpdating = False
    DL = Range("B65500").End(xlUp).Row
    C = 3
    While Cells(5, C) <> ""
        tablo = Split(Cells(5, C), " ")
        For L = 6 To Range("B65500").End(xlUp).Row
            If Cells(L, C) = "x" Then
                Cells(L, C) = Replace(tablo(UBound(tablo) - 1) & " H", "(", "")
            End If
        Next L
        C = C + 1
    Wend
End Sub
 

Pièces jointes

Bonjour à tous,

Merci de vos retours ça fonctionne correctement toutes vos propositions.

@Robert, oui j'aurais aimé avoir des tableaux "propre" mais je n'ai pas eu de chance....🙂

J'en profite pour vous demander comment peut-on faire pour lancer la procédure en VBA sur toutes feuilles du classeur?

Merci encore

Cordialement
 
Bonjour le fil, bonjour le forum,

Pour tous les onglets.
1. remplace le code du bouton par celui-ci :

VB:
Private Sub CommandButton1_Click()
Module1.Macro1
End Sub
2. Dans le modue standard Module1 la procédure :
Code:
Sub Macro1()
Dim DL%, L%, C%
Dim O As Worksheet
Dim tablo As Variant

Application.ScreenUpdating = False
For Each O In Sheets
    DL = O.Range("B65500").End(xlUp).Row
    C = 3
    While O.Cells(5, C) <> ""
        tablo = Split(O.Cells(5, C), " ")
        For L = 6 To O.Range("B65500").End(xlUp).Row
            If O.Cells(L, C) = "x" Then
                O.Cells(L, C) = Replace(tablo(UBound(tablo) - 1) & " H", "(", "")
            End If
        Next L
        C = C + 1
    Wend
Next O
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
177
Retour