Bonjour,
Je fait créé une fenetre avec liste déroulante, mais après avoir fait le choix dans cette liste (deux dates) j'aimerai copier toutes les lignes qui sont comprises entre ces deux dates.
Je pense que ma définition de variable est mauvaise.
J'ai mis un petit mot à coté de l'endroit ou il affiche l'erreur.
Merci de votre interet.
Bonne soirée.
Yann
Une partie de la macro :
'*******************************************************************************************/
' /
'Nom: ListeDeroulanteModifiable /
'Auteur: Yann /
'Date: 13/7/2007 /
' /
'Déscription: Pour afficher la fenetre "choix date" et lancer la macro qui lui /
' incombe. Celle-ci conciste à récuperer les information des incidents /
' entre deux dates, de les copiers dans la feulle "tri daté", et de les /
' mettre en forme. /
' /
'*******************************************************************************************/
Private Sub UserForm_Activate()
'********************************************************************************************/
' Renvoit à la mise en forme de la fenetre "ListeDeroulanteModifiable"***********************/
'********************************************************************************************/
Sheets("Données").Select
Dim I As Integer
Dim nbligne As Long
nbligne = Application.WorksheetFunction.CountA(Range("B:B"))
ListeDeroulanteModifiable.Listedate.Clear
For I = 1 To nbligne
ListeDeroulanteModifiable.Listedate.AddItem Cells(I, 2).Value
ListeDeroulanteModifiable.Listedate2.AddItem Cells(I, 2).Value
Next
Listedate.ListIndex = 0
End Sub
Private Sub Valider_Click()
'********************************************************************************************/
' Définition des variables*******************************************************************/
'********************************************************************************************/
ListeDeroulanteModifiable.Hide
Application.ScreenUpdating = False
Marque = Listedate.Value
Marque2 = Listedate2.Value
'********************************************************************************************/
' Renvoit à la gestion d'erreur en bas de page***********************************************/
'********************************************************************************************/
On Error GoTo GestionErreur
'********************************************************************************************/
' Remise à zero de la feuille "compte rendu daté"********************************************/
'********************************************************************************************/
Sheets("Compte rendu daté").Select
Cells.Select
Selection.Delete Shift:=xlUp
Sheets("Données").Select
ActiveSheet.ShowAllData
Application.Dialogs(xlDialogFilter).Show 2
'********************************************************************************************/
' Selection et activation de l'affichage total de la feuille "Données"***********************/
'********************************************************************************************/
rangecopy = Marque: Marque 2 ==========> c'est ici qu'il m'affiche une erreur de compilation
Rows(rangecopy).Select
Range(Marque, Marque2).Copy
Selection.Copy
Sheets("Compte rendu daté").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'*********************************************************************************************/
' Mise en forme de la feuille "Compte rendu daté"*********************************************/
'*********************************************************************************************/
Selection.Interior.ColorIndex = xlNone
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Range("1:1,9:9,15:15,16:16,18:18").Select
Range("A18").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveCell.FormulaR1C1 = "D.Début"
With ActiveCell.Characters(Start:=1, Length:=17).Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 10
.Strikethrough = False...........
Je fait créé une fenetre avec liste déroulante, mais après avoir fait le choix dans cette liste (deux dates) j'aimerai copier toutes les lignes qui sont comprises entre ces deux dates.
Je pense que ma définition de variable est mauvaise.
J'ai mis un petit mot à coté de l'endroit ou il affiche l'erreur.
Merci de votre interet.
Bonne soirée.
Yann
Une partie de la macro :
'*******************************************************************************************/
' /
'Nom: ListeDeroulanteModifiable /
'Auteur: Yann /
'Date: 13/7/2007 /
' /
'Déscription: Pour afficher la fenetre "choix date" et lancer la macro qui lui /
' incombe. Celle-ci conciste à récuperer les information des incidents /
' entre deux dates, de les copiers dans la feulle "tri daté", et de les /
' mettre en forme. /
' /
'*******************************************************************************************/
Private Sub UserForm_Activate()
'********************************************************************************************/
' Renvoit à la mise en forme de la fenetre "ListeDeroulanteModifiable"***********************/
'********************************************************************************************/
Sheets("Données").Select
Dim I As Integer
Dim nbligne As Long
nbligne = Application.WorksheetFunction.CountA(Range("B:B"))
ListeDeroulanteModifiable.Listedate.Clear
For I = 1 To nbligne
ListeDeroulanteModifiable.Listedate.AddItem Cells(I, 2).Value
ListeDeroulanteModifiable.Listedate2.AddItem Cells(I, 2).Value
Next
Listedate.ListIndex = 0
End Sub
Private Sub Valider_Click()
'********************************************************************************************/
' Définition des variables*******************************************************************/
'********************************************************************************************/
ListeDeroulanteModifiable.Hide
Application.ScreenUpdating = False
Marque = Listedate.Value
Marque2 = Listedate2.Value
'********************************************************************************************/
' Renvoit à la gestion d'erreur en bas de page***********************************************/
'********************************************************************************************/
On Error GoTo GestionErreur
'********************************************************************************************/
' Remise à zero de la feuille "compte rendu daté"********************************************/
'********************************************************************************************/
Sheets("Compte rendu daté").Select
Cells.Select
Selection.Delete Shift:=xlUp
Sheets("Données").Select
ActiveSheet.ShowAllData
Application.Dialogs(xlDialogFilter).Show 2
'********************************************************************************************/
' Selection et activation de l'affichage total de la feuille "Données"***********************/
'********************************************************************************************/
rangecopy = Marque: Marque 2 ==========> c'est ici qu'il m'affiche une erreur de compilation
Rows(rangecopy).Select
Range(Marque, Marque2).Copy
Selection.Copy
Sheets("Compte rendu daté").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'*********************************************************************************************/
' Mise en forme de la feuille "Compte rendu daté"*********************************************/
'*********************************************************************************************/
Selection.Interior.ColorIndex = xlNone
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Range("1:1,9:9,15:15,16:16,18:18").Select
Range("A18").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveCell.FormulaR1C1 = "D.Début"
With ActiveCell.Characters(Start:=1, Length:=17).Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 10
.Strikethrough = False...........