Macro critère Oui/Non - Onglet de référence

Bonjour,

J'essaye d'aptater plusieurs macro pour que cela fonctionne mais j'ai du mal sur 2 points (Le but est de copier un tableau "provenance" sur un fichier "destination"

Mes problèmes :

- Je n'arrive pas à faire en sorte que la macro marche ou ne marche pas pour chaque société selon le critère Oui/Non
- Je n'arrive pas à lui faire changer le choix de l'onglet de référence

J'arrive surtout à définir le changement par ligne exemple : Onglet de référence = E17 mais pour la ligne d'après cela deviens E18

Merci d'avance pour 'laide (je joint une capture d'écran)

Cordialement,
Parrish

image

voici un classeur avec la macro que j'ai essayé de travailler :

Sub coller1()
'
' Macro de collage des données dans le fichier Destination

Dim Fichier
Dim Fichier_source
Dim DernLigne As Long

    Fichier = Range("D11").Value
    Fichier_source = Range("D9").Value
    Critere = 'A definir

'Déterminer la dernière ligne du tableau 
    DernLigne = Range("D" & Rows.Count).End(xlUp).Row

'Critère Oui/non 
'A revoir
    For D = 

    If Critere(D, 1) = "Oui" Then

        If Critere(D, 1) = "" Then

    Else

' copie des données du fichier Provenance
    Windows(Fichier_source & ".xlsm").Activate
    Sheets("EOnglet").Select 'A faire varié pour onglet 1 et 2
        Range(":S18").Select
    Selection.Copy

' coller des données dans le fichier Destination
    Windows(Fichier & ".xlsm").Activate
    Sheets("N en EUR").Select
    Range("F15").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Windows(Fichier_source & ".xlsm").Activate
    Sheets("PILOTE").Select

End Sub
6classeur1.xlsm (19.32 Ko)

Problème résolu

CF : Optimisation macro

Bonjour Parrish

N'agissez pas égoïstement, si vous avez résolu votre problème, merci de déposer le code modifié SVP

Si quelqu'un à la même problématique il aura ainsi la solution

A+

Bonjour Bruno, comme indiqué il est mis dans mon nouveau post ^^

Au cas ou, voici le code :

'SOC 1
With Sheets("Pilotage")
    ON_SOC1 = .Range("C24")
   REF_SOC1 = .Range("E24")
   PROV1_SOC1 = .Range("F24")
   PROV2_SOC1 = .Range("G24")
   OND_SOC1 = .Range("H24")
   DEST1_SOC1 = .Range("I24")
   DEST2_SOC1 = .Range("J24")
End With

if ON_SOC1 ="Oui" Then

    Application.Goto Sheets(REF_SOC1).Range(PROV1_SOC1 & ":" & PROV2_SOC1)
    Range(PROV1_SOC1 & ":" & PROV2_SOC1).Copy

' coller des données dans le fichier Synthèse SOC 3

   Windows(Fichier_destination & ".xlsm").Activate

    Application.Goto Sheets(OND_SOC1).Range(DEST1_SOC1)
    Range(DEST1_SOC1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

        Windows(Fichier_source & ".xlsm").Activate
        Sheets("Pilotage").Select

End if

'SOC 2
With Sheets("Pilotage")
    ON_SOC2 = .Range("C25")
   REF_SOC2 = .Range("E25")
   PROV1_SOC2 = .Range("F25")
   PROV2_SOC2 = .Range("G25")
   OND_SOC2 = .Range("H25")
   DEST1_SOC2 = .Range("I25")
   DEST2_SOC2 = .Range("J25")
End With

if ON_SOC2 ="Oui" Then

    Application.Goto Sheets(REF_SOC2).Range(PROV1_SOC2 & ":" & PROV2_SOC2)
    Range(PROV1_SOC2 & ":" & PROV2_SOC2).Copy

' coller des données dans le fichier Synthèse SOC 3

   Windows(Fichier_destination & ".xlsm").Activate

    Application.Goto Sheets(OND_SOC2).Range(DEST1_SOC2)
    Range(DEST1_SOC2).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

        Windows(Fichier_source & ".xlsm").Activate
        Sheets("Pilotage").Select

End if

Bonne journée ^^

Pour info :

'Info
'   ON = Crière Oui/Non
'   Ref = Onglet de référence - Provenance
'   Prov1/Prov2  Plage de référence - Provenance
'   OND = Onglet destination
'   DEST1/DEST2 = Plage de référence - Destination

CDL,
Parrish

Re,

"Comme indiqué"

Pour vous "CF : Optimisation macro" c'est clair

Un lien c'est tellement plus parlant

https://forum.excel-pratique.com/excel/optimisation-macro-179440

Oups,
sorry, je ne savais pas qu'on pouvais mettre des liens vers d'autre sujet,

merci beaucoup ^^

CDL,
Parrish

Rechercher des sujets similaires à "macro critere onglet reference"