HELP ! Recopier une valeur en fonction du mois en cours

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

Noyelle

XLDnaute Nouveau
Bonjour,

Je galère depuis quelques jours pour recopier une valeur en fonction du mois en cours

Dans mon fichier, dans la feuille 'Tableau' j'ai 2 valeurs (Val1 et Val2) pour chaque mois en fonction du 'département'.
Dans la feuille 'Mois en cours', je cherche à récupérer ces valeurs pour chaque département en fonction de la celulle B2 de cette feuille.
J'y suis arrivé pour la Valeur 1 mais je n'y arrive pas pour la valeur 2 car il y a un décalage de colonne...

Par exemple, je veux récupérer la valeur de la celulle 'Tableau'E5, dans la celulle 'Mois en cours'C4 ; et ainsi de suite pour chaque département.

Si vous avez une solution pour me sauver...!
Merci à tous
Noyelle
 

Pièces jointes

Re : HELP ! Recopier une valeur en fonction du mois en cours

Bonjour Noyelle et bienvenue, bonjour le forum,

En formule je sais pas faire... En pièce jointe une solution VBA avec le code ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rm As Range 'déclare la variable rm (Recherche Mois)
Dim col As Byte 'déclare la variable col (COLonne)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim rd As Range 'déclare la variable rc (Recherche Département)

If Target.Address = "$B$2" Then 'condition 1 : si le changemen a lieu dans B2
    Set rm = Sheets("Tableau").Rows(3).Find(Target.Value, , xlValues, xlWhole) 'définit la recherche du mois rm
    If Not rm Is Nothing Then 'condition 2: si il existe au moins une occurrence du mois dans la ligne 3 de l'onglet 'Tableau"
        col = rm.MergeArea.Column 'définit la colonne col
    Else 'sinon
        MsgBox "L'onglet 'Tableau' ne contient pas le mois : " & Target.Value & " !" 'message
        Exit Sub 'sort de la procédure
    End If 'fin de la condition 2
    For Each cel In Range("A4:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row) 'boucle sur toutes les cellules éditées de la colonne A
        Set rd = Sheets("Tableau").Columns(1).Find(cel.Value, , xlValues, xlWhole) 'définit la recherche du département rd
        If Not rd Is Nothing Then 'condition 3 : si il existe au moins une occurrence du département dans la colonne 1 de l'onglet 'Tableau"
            cel.Offset(0, 1).Value = Sheets("Tableau").Cells(rd.Row, col).Value 'place dans la colonne B la valeur correspondante
            cel.Offset(0, 2).Value = Sheets("Tableau").Cells(rd.Row, col + 1).Value 'place dans la colonne C la valeur correspondante
        Else 'sinon
            MsgBox "L'onglet 'Tableau' ne contient pas le département " & cel.Value & " !" 'message
        End If 'fin de la condition 3
    Next cel 'prochaine cellule de la boucle
End If 'fin de la condition 1
End Sub
Le fichier :
 

Pièces jointes

Re : HELP ! Recopier une valeur en fonction du mois en cours

Bonjour
Je te propose une fonction
Function marecherche(v1, v2, v3, tableau)
'v1= mois, v2= valeur(val1 ou val2 ) tableau= tous le tableau ici de a3 à g10
For Each i In tableau.Rows(1).Columns
If i = v1 Then
Set m = i
col = i.Column
End If
Next
If v2 <> m.Offset(1, 0) Then col = col + 1
For Each i In tableau.Columns(1).Rows
If i = v3 Then lg = i.Row
Next

marecherche = tableau.Parent.Cells(lg, col)
End Function
 
Re : HELP ! Recopier une valeur en fonction du mois en cours

Hello !!

Merci à tous les 2 pour vos réponses rapides !!
Je ne suis pas très familière avec le VBA mais je vais essayer ; il n'est jamais trop tard🙂

Bonne journée
Noyelle
 
- 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
9
Affichages
515
Réponses
12
Affichages
503
Retour