Generer des données

Bonjour

J'ai deux fichier excel , je copie les donnes de fichier excel 1 dans fichier excel 2.

Dans le fichier 1 les donnes ce trouve dans une feuille et je dois copier 2 colonnes dans les differents feuilles du fichier excel 2.

les cellules du colonne 11 du premiere fichier contier des differents donnees ( oppa, oppb , opgg ..... )

les feuilles du deuxieme fichier sont nommees avec les donnes du colonnes 11 du premier fichier ( par exp feuille1 nommer oppa , la deuxieme oppb ...)

j'ai cree ce code qui marche tres bien mais j'ai voulai le simplifier les choses, au lieu de repeter le meme code pour chaque feuille tous seul

faire une boucle pour toutes les feuilles ( peut etre en filtrer le colonne 11 avec le nom du feuille )

mais j'ai cherché beaucoup et j'arrive pas , des idees ke forum si ca vous interesses

Sub genererdonnees()

Dim fin_tableau_contr As Long, fin_tableau_op As Long

    'Récupération des informations dans le fichier de gestion des opérateurs

    Workbooks.Open Filename:= _
        "\\caracas\qualif_op\Personnel_Controle\Base-competences_pers_ctrl.xls"
        Windows("Base-competences_pers_ctrl.xls").Activate

        'feuil OPPA

        Sheets("tableau qualif").Select
       ActiveSheet.ShowAllData
       Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPPA"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
     Sheets("OPPA").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate

  Sheets("OPPA").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

' feuil oppe

 Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPPE"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate

    Sheets("OPPE").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
     Sheets("OPPE").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

       ' feuil OPPB
Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPPB"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
     Sheets("OPPB1").Select
  Range("A2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPPB1").Select
    Range("B2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

' feuil OPPC
Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPPC"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPPC").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
Sheets("OPPC").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

' feuil QM

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="QM"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("QM").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("QM").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

     ' feuil OPFR

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPFR"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
     Sheets("OPFR").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPFR").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

' feuil OPFA

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPFA"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPFA").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPFA").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  ' feuil OPGC

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPGC"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPGC").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPGC").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

      ' feuil OPGG

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPGG"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPGG").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPGG").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

       ' feuil OPGR

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPGR"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    'Selection de la dernière ligne du tableau "Base-competences_pers_ctrl", et copie des infos
    Sheets("OPGR").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPGR").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

        ' feuil OSCE

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OSCE"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OSCE").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OSCE").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

        ' feuil OPEUA

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPEUA"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPEUA").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPEUA").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

        ' feuil OPEA

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPEA"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPEA").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPEA").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

     ' feuil OPTM

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OPTM"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate

    Sheets("OPTM").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPTM").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

       ' feuil OSFE

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OSFE"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
      Sheets("OSFE").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OSFE").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

' feuil OSFU

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="OSFU"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
     Sheets("OSFU").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OSFU").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

        ' feuil DSM

Windows("Base-competences_pers_ctrl.xls").Activate
Sheets("tableau qualif").Select
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:="DSM"
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
       Sheets("DSM").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate

    Sheets("DSM").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

      MsgBox "'copier des donnees effectuer, passage à la suppression des doublons '"

et si c'est possible de remplacer ce code

[code Range("B3").Select

ActiveCell.Select][/code]

par

 Range("A2").End(xlDown).Offset(1, 0).Select 

pour selectionner le premier cellule vide du tableau et copier les données et apres ca supprime les doublons , comme ca je peux securiser les donnes dans les colonnes a cote des colonnes ajoute

mercii en avance

SVP, Pas de solution ?? au moins des astuces .

Bonjour

Essaie ce code mais je ne l'ai pas essayé.

Il te faudra peut-être l'adapter mais il y a toujours l'idée des boucles.

Cela te convient-il ?

Bye !

Sub genererdonnees()

Dim fin_tableau_contr As Long, fin_tableau_op As Long
    'Récupération des informations dans le fichier de gestion des opérateurs
    Workbooks.Open Filename:= _
    "\\caracas\qualif_op\Personnel_Controle\Base-competences_pers_ctrl.xls"

    v = Array(" DSM", "OSFU", "OSFE", "OPTM", "OPEA", "PEUA", "OSCE", "OPGR", "OPGG", "OPGC", "OPFA", "OPFR", "l QM", "OPPC", "OPPB", "oppe", "OPPA")

    For i = 0 To UBound(v)
        Call routine1
        Call routine2
    Next i

    Sheets("DSM").Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

    MsgBox "'copier des donnees effectuer, passage à la suppression des doublons '"
    End Sub

    Sub routine1()
    'feuil xxx
    Windows("Base-competences_pers_ctrl.xls").Activate
    Sheets("tableau qualif").Select
    ActiveSheet.ShowAllData
    Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
    Selection.AutoFilter Field:=11, Criteria1:="OPPA"
    DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    Range("B10:B" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
    'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    Sheets("OPPA").Select
    Range("A3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)
    Windows("Base-competences_pers_ctrl.xls").Activate
    Range("D10:D" & fin_tableau_op).Select
    'Sélection du tableau qualifs opérateurs
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    End Sub

Sub routine2()
    Sheets(v(i)).Select
    Range("B3").Select
    ActiveCell.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)
End Sub

Bonjour

Je te remercie , mais ca marche toujours pas

le bug c'est sur (sub rotine2) , il donne sub ou fonction non definie

ton code mon ami il filtre toujours avec oppa je pense aussi par contre il faut que pour chaque feuille il filtre avec le meme nom de la feuille ( Selection.AutoFilter Field:=11, Criteria1:="OPPA" )

si on peut arrive a savoir comment filtrer avec le nom de page ce colonne ca sera super

Merci pour le temps

Bonjour gmb

Solution trouver merci beaucoup

voila le code si ca t'interesse

Sub genererdonneestst()

Dim fin_tableau_op As Long, a As String

    'Récupération des informations dans le fichier de gestion des opérateurs

    Workbooks.Open Filename:= _
        "\\caracas\qualif_op\Personnel_Controle\Base-competences_pers_ctrl.xls"

        Windows("Zones de production.xls").Activate
        For i = Sheets.Count To 1 Step -1
        a = Sheets(i).Name

        Windows("Base-competences_pers_ctrl.xls").Activate
        Sheets("tableau qualif").Select
        Selection.AutoFilter Field:=1, Criteria1:="Autocontrôle"
        Selection.AutoFilter Field:=11, Criteria1:=a
        DerCell1 = Range("A10").End(xlDown).Address
    Range(DerCell1).Select              'DerCell correspond à la dernière cellule du tableau
    Selection.Offset(0, 0).Activate
    fin_tableau_op = ActiveCell.Row
    'selection du colonnes B dans base de competences
    Range("B10:B" & fin_tableau_op).Select
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    'Selection  coller
   Sheets(i).Select
    Range("A2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

  Windows("Base-competences_pers_ctrl.xls").Activate
' selection colonnes D dans base competences

      Range("D10:D" & fin_tableau_op).Select
    Selection.Copy
     'Retour à la feuille d'origine
    Windows("Zones de production.xls").Activate
    'Selection de la dernière ligne du tableau "Base-competences_pers_ctrl", et copie des infos
  Sheets(i).Select
    Range("B2").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False       'Collage spécial (seulement les valeurs des cellules)

 Windows("Zones de production.xls").Activate
  Sheets(i).Select
  MaCellule = ("B2")
Range(MaCellule).Select
 donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select

While ActiveCell <> ""
If ActiveCell = donnee1 Then
ActiveCell.EntireRow.Delete
ActiveCell.Offset(-1, 0).Select
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select
Else
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select
End If
Wend

        Next i

                 End Sub

voila

Rechercher des sujets similaires à "generer donnees"