Copier et collage d'une valeur sur un autre onglet en VBA
S
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
f
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
S
Au top c'est exactement cela qu'il me fallait et ça marche parfaitement
Bravo 👍