Copier et collage d'une valeur sur un autre onglet en VBA

Bonjour,

J'ai réussis à trouver une macro VBA qui me copie les valeurs de certaines cellules de l'onglet actif vers un autre onglet nommé "Previsionnel_Mensuel". Mais j'aimerais que lorsque j'active cette macro que je puisse également pourvoir récupérer la valeur de la cellule B5 d'un autre onglet "Params" et coller cette valeur sur l'onglet "Previsionnel_Mensuel" en colonne K sur le même principe que la macro suivante.

Est-ce que cela est possible?

Sub ImpPrevisio()
Dim Hs_Norm, HS_Ferie, HS_Nuit As Double
Dim DrLigne, i As Long
Dim Nom As String, Mat As String, Mois As Long, Annee As Long
Dim Affect As String, P_Nuit As Double, RTT As Double
Dim P_ins As Double, Total As Double, TR As Integer

Coll = ActiveSheet.Range("AG9")
Nom = ActiveSheet.Range("AA8")
Mat = ActiveSheet.Range("U8")
Affect = ActiveSheet.Range("AA9")
Hs_Norm = ActiveSheet.Range("W46")
HS_Ferie = ActiveSheet.Range("X46")
HS_Nuit = ActiveSheet.Range("Y46")
Periode = ActiveSheet.Range("D1")
Mois = ActiveSheet.Range("A3")
Annee = ActiveSheet.Range("A3")

With Sheets("Previsionnel_Mensuel")
    DrLigne = .Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To DrLigne
        If .Range("C" & i) = Nom And .Range("D" & i) = Affect And .Range("H" & i) = Periode Then
                .Range("A" & i) = Coll
                .Range("B" & i) = Mat
                .Range("C" & i) = Nom
                .Range("D" & i) = Affect
                .Range("E" & i) = Hs_Norm
                .Range("F" & i) = HS_Ferie
                .Range("G" & i) = HS_Nuit
                .Range("H" & i) = Periode
                .Range("I" & i) = Mois
                .Range("J" & i) = Year(Annee)
                Exit Sub
        End If
    Next i
    .Range("A" & DrLigne + 1) = Coll
    .Range("B" & DrLigne + 1) = Mat
    .Range("C" & DrLigne + 1) = Nom
    .Range("D" & DrLigne + 1) = Affect
    .Range("E" & DrLigne + 1) = Hs_Norm
    .Range("F" & DrLigne + 1) = HS_Ferie
    .Range("G" & DrLigne + 1) = HS_Nuit
    .Range("H" & DrLigne + 1) = Periode
    .Range("I" & DrLigne + 1) = Mois
    .Range("J" & DrLigne + 1) = Year(Annee)
End With

End Sub

Bonjour,

Il suffirait de rajouter a la suite de

Annee = ActiveSheet.Range("A3")

tu rajoutes

 Mon_B5 = sheets("Params").range("B5")

et ensuite , a la suite de

   .Range("J" & DrLigne + 1) = Year(Annee)

tu rajoutes

.Range("K" & i) = Mon_B5

et ca devrait suffire

Pour bien faire il faudrait declarer la variable Mon_B5

Cdlt

Au top c'est exactement cela qu'il me fallait et ça marche parfaitement

Bravo 👍

Rechercher des sujets similaires à "copier collage valeur onglet vba"