Bonjour,
J'ai un probleme de copier coller tout bete et je ne comprends absolument pas pourquoi ca ne marche pas.
Le principe de prog, c'est que je souhaite pouvoir selectionner des donnees des trois fichiers annee avec une selection par date pour chacune des annees. Je selectionne successivement les donnees voulues par annee que je colle dans une autre feuille. Le programme marche bien pour les deux premieres annees, mais pas pour la troisieme annee. Ca bloque au niveau du Coller (en rouge et en gras) et je ne vois pas pourquoi.
Si vous ne comprenez pas mais que vous souhaitez m'aider, n'hesitez pas a me le dire, j'essayerai d'etre plus explicite et eventuellement vous envoyer un dossier zip.
Ci-dessous le code, un peu long a lire mais simple et c'est presque le meme pour les trois annees. (C'est un peu barbare comme code, mais je ne suis pas un specialiste, je fais ca pour une association)
Je vous remercie.
Mouss
Private Sub CommandButton2_Click()
NomClasseur = ActiveWorkbook.Name 'nom de ce classeur
NomChemin = ActiveWorkbook.Path 'nom du chemin d'accès
NomOnglet = ActiveSheet.Name 'nom de l'onglet
'Workbooks("Program Peter.xls").Worksheets("Sources").Activate
datemin1 = TextBox1.Value
datemax1 = TextBox2.Value
datemin2 = TextBox3.Value
datemax2 = TextBox4.Value
datemin3 = TextBox5.Value
datemax3 = TextBox6.Value
Workbooks("Total.xls").Worksheets("Results").Activate
Application.DisplayAlerts = False
Sheets("Results").Delete 'Supprime l'onglet résultat
Application.DisplayAlerts = True
Sheets.Add
ActiveSheet.Name = "Results" 'On rajoute la feuille résultat
'Annee 1
Workbooks.Open Filename:= _
NomChemin & "\Annee 1.xls" 'ouvre le fichier de données
Workbooks("Annee 1.xls").Worksheets("Details").Activate
Range("A1").Select 'On recherche par mot clé
Selection.AutoFilter Field:=11, Criteria1:=">=" & datemin1, Operator:=xlAnd _
, Criteria2:="<=" & datemax1
Cells.Select
Selection.Copy
Workbooks("Total.xls").Worksheets("Results").Activate
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Annee 2
Workbooks.Open Filename:= _
NomChemin & "\Annee 2.xls" 'ouvre le fichier de données
Workbooks("Annee 2.xls").Worksheets("Details").Activate
Range("A1").Select 'On recherche par mot clé
Selection.AutoFilter Field:=11, Criteria1:=">=" & datemin2, Operator:=xlAnd _
, Criteria2:="<=" & datemax2
Cells.Select
Selection.Copy
Sheets("Sheet3").Select
ActiveSheet.Paste
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
Workbooks("Total.xls").Worksheets("Results").Activate
Range("A1").Select 'On regarde le nombre de correspondance
Selection.CurrentRegion.Select
nb_ligne = Selection.Rows.Count
Range("A" & CStr(nb_ligne + 1)).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rows(nb_ligne + 1).Delete
'Annee 3
Workbooks.Open Filename:= _
NomChemin & "\Annee 3.xls" 'ouvre le fichier de données
Workbooks("Annee 3.xls").Worksheets("Details").Activate
Range("A1").Select 'On recherche par mot clé
Selection.AutoFilter Field:=11, Criteria1:=">=" & datemin3, Operator:=xlAnd _
, Criteria2:="<=" & datemax3
Cells.Select
Selection.Copy
Sheets("Sheet3").Select
ActiveSheet.Paste
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
Workbooks("Total.xls").Worksheets("Results").Activate
Range("A1").Select 'On regarde le nombre de correspondance
Selection.CurrentRegion.Select
nb_ligne1 = Selection.Rows.Count
Range("A" & CStr(nb_ligne1 + 1)).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rows(nb_ligne1 + 1).Delete
ch1 = Format(datemin1, "ddmmyyyy")
ch2 = Format(datemax3, "ddmmyyyy")
ActiveWorkbook.SaveAs Filename:= _
NomChemin & "\Comptes du " & ch1 & " au " & ch2 _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.DisplayAlerts = False 'ferme le fichier excel de données
Workbooks("Annee 1.xls").Close
Workbooks("Annee 2.xls").Close
Workbooks("Annee 3.xls").Close
Application.DisplayAlerts = True
End Sub
J'ai un probleme de copier coller tout bete et je ne comprends absolument pas pourquoi ca ne marche pas.
Le principe de prog, c'est que je souhaite pouvoir selectionner des donnees des trois fichiers annee avec une selection par date pour chacune des annees. Je selectionne successivement les donnees voulues par annee que je colle dans une autre feuille. Le programme marche bien pour les deux premieres annees, mais pas pour la troisieme annee. Ca bloque au niveau du Coller (en rouge et en gras) et je ne vois pas pourquoi.
Si vous ne comprenez pas mais que vous souhaitez m'aider, n'hesitez pas a me le dire, j'essayerai d'etre plus explicite et eventuellement vous envoyer un dossier zip.
Ci-dessous le code, un peu long a lire mais simple et c'est presque le meme pour les trois annees. (C'est un peu barbare comme code, mais je ne suis pas un specialiste, je fais ca pour une association)
Je vous remercie.
Mouss
Private Sub CommandButton2_Click()
NomClasseur = ActiveWorkbook.Name 'nom de ce classeur
NomChemin = ActiveWorkbook.Path 'nom du chemin d'accès
NomOnglet = ActiveSheet.Name 'nom de l'onglet
'Workbooks("Program Peter.xls").Worksheets("Sources").Activate
datemin1 = TextBox1.Value
datemax1 = TextBox2.Value
datemin2 = TextBox3.Value
datemax2 = TextBox4.Value
datemin3 = TextBox5.Value
datemax3 = TextBox6.Value
Workbooks("Total.xls").Worksheets("Results").Activate
Application.DisplayAlerts = False
Sheets("Results").Delete 'Supprime l'onglet résultat
Application.DisplayAlerts = True
Sheets.Add
ActiveSheet.Name = "Results" 'On rajoute la feuille résultat
'Annee 1
Workbooks.Open Filename:= _
NomChemin & "\Annee 1.xls" 'ouvre le fichier de données
Workbooks("Annee 1.xls").Worksheets("Details").Activate
Range("A1").Select 'On recherche par mot clé
Selection.AutoFilter Field:=11, Criteria1:=">=" & datemin1, Operator:=xlAnd _
, Criteria2:="<=" & datemax1
Cells.Select
Selection.Copy
Workbooks("Total.xls").Worksheets("Results").Activate
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Annee 2
Workbooks.Open Filename:= _
NomChemin & "\Annee 2.xls" 'ouvre le fichier de données
Workbooks("Annee 2.xls").Worksheets("Details").Activate
Range("A1").Select 'On recherche par mot clé
Selection.AutoFilter Field:=11, Criteria1:=">=" & datemin2, Operator:=xlAnd _
, Criteria2:="<=" & datemax2
Cells.Select
Selection.Copy
Sheets("Sheet3").Select
ActiveSheet.Paste
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
Workbooks("Total.xls").Worksheets("Results").Activate
Range("A1").Select 'On regarde le nombre de correspondance
Selection.CurrentRegion.Select
nb_ligne = Selection.Rows.Count
Range("A" & CStr(nb_ligne + 1)).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rows(nb_ligne + 1).Delete
'Annee 3
Workbooks.Open Filename:= _
NomChemin & "\Annee 3.xls" 'ouvre le fichier de données
Workbooks("Annee 3.xls").Worksheets("Details").Activate
Range("A1").Select 'On recherche par mot clé
Selection.AutoFilter Field:=11, Criteria1:=">=" & datemin3, Operator:=xlAnd _
, Criteria2:="<=" & datemax3
Cells.Select
Selection.Copy
Sheets("Sheet3").Select
ActiveSheet.Paste
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
Workbooks("Total.xls").Worksheets("Results").Activate
Range("A1").Select 'On regarde le nombre de correspondance
Selection.CurrentRegion.Select
nb_ligne1 = Selection.Rows.Count
Range("A" & CStr(nb_ligne1 + 1)).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rows(nb_ligne1 + 1).Delete
ch1 = Format(datemin1, "ddmmyyyy")
ch2 = Format(datemax3, "ddmmyyyy")
ActiveWorkbook.SaveAs Filename:= _
NomChemin & "\Comptes du " & ch1 & " au " & ch2 _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.DisplayAlerts = False 'ferme le fichier excel de données
Workbooks("Annee 1.xls").Close
Workbooks("Annee 2.xls").Close
Workbooks("Annee 3.xls").Close
Application.DisplayAlerts = True
End Sub