Remplacer une valeur en fonction de l'intitulé

  • Initiateur de la discussion Initiateur de la discussion babas
  • 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 !

babas

XLDnaute Junior
Bonjour à tous,

Je me tourne vers vous car j'ai un petit souci…

J'ai un classeur Excel avec dessus une feuille sur laquelle je rentre des données, à savoir un intitulé et un nombre d'heures réalisées pour cet intitulé ce qui calcul les heures restantes.

Sur une autre feuille j'ai un tableau qui reprend chaque intitulé avec le nombre d'heure total autorisée et le nombre d'heures restantes.


Ce que je souhaiterai c'est que lorsque je clique sur un bouton valider, le nombre d'heures restantes qui vient d'être calculé vienne remplacer les heures restantes sur l'autre feuille et en fonction de l'intitulé…

Je ne parvient pas à écrire ma macro…


Je ne sais pas si je me suis fait comprendre, j'essaierai de mettre mon classeur demain.

Merci d'avance à ceux qui pourront déjà 'aider et merci de m'avoir lu.
 
Re : Remplacer une valeur en fonction de l'intitulé

Bonjour babas,

Cette macro VBA de copie ne devrait pas nous (le forum) poser de problème...
Mais nous avons besoin que tu nous envoi un fichier anonymisé pour que l'on puisse code dans le concret.
En effet le code VBA est intimement lié à ta façon de stocker tes données dans tes feuilles.

Sorry
 
Re : Remplacer une valeur en fonction de l'intitulé

Bonjour à tous,

Voici un exemple de mon classeur.

Je réexplique. Je souhaiterai que en fonction de l'activité choisie (case cochée ou mot apparaissant dans résultat sur la feuille "saumon"), le nombre d'heure totale restant pour cette activité vienne remplacer l'ancienne heure restante sur la feuille "données" dans le tableau à partir de la ligne 77.


N'hésitez pas si vous ne comprenez pas…

Merci d'avance
 

Pièces jointes

Re : Remplacer une valeur en fonction de l'intitulé

Bonjour,

Il me semble que votre structure est un peu compliqué et que vous gagneriez à simplifier et surtout éviter d'avoir les info un peu de partout.

Quoi qu'il en soit, pour répondre à votre besoin vous trouverez le code ci dessous (à compléter pour tous les cas):

Code:
Private Sub btValider_Click()

Dim sActivite As String
Dim bFound As Boolean

'On définie le nom de l'activité en fonction de la checkbox
Select Case True
    Case Me.CheckBox1
        sActivite = "Ent"
        
    Case Me.CheckBox2
        sActivite = "semaine"
    
    Case Me.CheckBox3
    Case Me.CheckBox4
    Case Me.CheckBox5
    Case Me.CheckBox6
        sActivite = "For"
    Case Me.CheckBox7
    Case Me.CheckBox8
    Case Me.CheckBox9
    Case Me.CheckBox10
    Case Else
        Call MsgBox("Cochez une activité!")
        Exit Sub
End Select

Dim c As Range

For Each c In Worksheets("Données").Range("A78:A" + CStr(Worksheets("Données").Range("A78").End(xlDown).Row))
    If c.Value = sActivite Then
        Worksheets("Données").Cells(c.Row, c.Column + 2).Value = Worksheets("Données").Cells(c.Row, c.Column + 2).Value - Me.Cells(37, 4).Value
        bFound = True
        Exit For
    End If
Next

If Not bFound Then
    Call MsgBox("Temps non décrémentés, validation annulé!")
    Exit Sub
End If


'On efface les données
Range("A24:C36").Select
Selection.ClearContents

End Sub

La pièce jointe contient les données.

Désolé, peu de temps pour répondre..

Pyfux
 

Pièces jointes

- 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

  • Question Question
XL pour MAC fonction si
Réponses
5
Affichages
360
Réponses
4
Affichages
306
Retour