Simple Macro Copier/Coller à rétablir

Bonjour,

J'utilise la macro ci-dessous que Dan m'a aidé à faire pour faire des copié coller de certaines valeurs.

Toutes les procédures marchent sauf pour la plage K102 : K105 qui lorsqu'elle se copie en K110:K113, elle n'y copie rien...

    Sub EAC0()

    Dim Msg As String, Style As String, Titre As String
    Dim Rep As Integer
    Msg = "Voulez-vous effectuer la macro EAC0 ?"
    Style = vbYesNo + vbCritical + vbDefaultButton2
    Titre = "Copy process"
    Rep = MsgBox(Msg, Style, Titre)
    If Rep = vbYes Then
Sheets("Forecast").Range("K106:BG106").Copy
Sheets("Forecast").Range("K108:BG108").PasteSpecial Paste:=xlPasteValues
Sheets("Forecast").Range("i71:i98").Copy
Sheets("Forecast").Range("h71:h98").PasteSpecial Paste:=xlPasteValues
Sheets("Forecast").Range("i31:i68").Copy
Sheets("Forecast").Range("h31:h68").PasteSpecial Paste:=xlPasteValues
Sheets("Forecast").Range("k102:k105").Copy
Sheets("Forecast").Range("k110:k113").PasteSpecial Paste:=xlPasteValues
Sheets("Forecast").Range("B104").Select
    End If
    End Sub

Pour remettre en situation, cette macro copie des budgets prévu en début de projet.

Merci de m'aider à voir ce qui ne vas pas ou si vous comprenez d'où viens le problème.

Bonjour,

Toutes les procédures marchent sauf pour la plage K102 : K105 qui lorsque se copie en K110:K113 y copie n'importe quoi.

A la lecture de ton code cela copie Range("i31:i68").Copy et non ce que tu dis.

Essaie comme ceci :

Sub EAC0()
Dim Msg As String, Style As String, Titre As String
Dim Rep As Integer
Msg = "Voulez-vous effectuer la macro EAC0 ?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Titre = "Copy process"
Rep = MsgBox(Msg, Style, Titre)
If Rep = vbYes Then
With Sheets("Forecast")
    .Range("K106:BG106").Copy
    .Range("K108:BG108").PasteSpecial Paste:=xlPasteValues
    .Range("i71:i98").Copy
    .Range("h71:h98").PasteSpecial Paste:=xlPasteValues
    .Range("i31:i68").Copy
    .Range("h31:h68").PasteSpecial Paste:=xlPasteValues
    .Range("k102:k105").Copy
    '.Range("k102:k105").PasteSpecial Paste:=xlPasteValues
    .Range("k110:k113").PasteSpecial Paste:=xlPasteValues
    '.Range("k110:k113").Select
    '.Range("B104").Select
End With
End If
End Sub

J'ai laissé tes instructions mais les ai désactivées et remplacées par ce que je pense que tu veux faire.

Amicalement

Oui, effectivement ça marche.

Merci Dan =)

re,

Ok. Juste une petite chose. Dans ton module 1 du fichier en VBA tu as une procédure Private Sub Worksheet_Change(ByVal Target As Range) qui ne doit absolument pas se trouver. elle doit être placée dans la feuille concernée par l'exécution du code.

Clique droite sur l'onglet, puis choisir "visualiser le code" et mettre le code là.

Amicalement

Rechercher des sujets similaires à "simple macro copier coller retablir"