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