Se connecter avec
S'enregistrer | Connectez-vous

[vba]action après selection dans liste déroulante

Dernière réponse : dans Programmation

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 :
  1. '*******************************************************************************************/
  2. ' /
  3. 'Nom: ListeDeroulanteModifiable /
  4. 'Auteur: Yann /
  5. 'Date: 13/7/2007 /
  6. ' /
  7. 'Déscription: Pour afficher la fenetre "choix date" et lancer la macro qui lui /
  8. ' incombe. Celle-ci conciste à récuperer les information des incidents /
  9. ' entre deux dates, de les copiers dans la feulle "tri daté", et de les /
  10. ' mettre en forme. /
  11. ' /
  12. '*******************************************************************************************/
  13.  
  14. Private Sub UserForm_Activate()
  15.  
  16. '********************************************************************************************/
  17. ' Renvoit à la mise en forme de la fenetre "ListeDeroulanteModifiable"***********************/
  18. '********************************************************************************************/
  19.  
  20. Sheets("Données").Select
  21. Dim I As Integer
  22. Dim nbligne As Long
  23. nbligne = Application.WorksheetFunction.CountA(Range("B:B"))
  24. ListeDeroulanteModifiable.Listedate.Clear
  25. For I = 1 To nbligne
  26. ListeDeroulanteModifiable.Listedate.AddItem Cells(I, 2).Value
  27. ListeDeroulanteModifiable.Listedate2.AddItem Cells(I, 2).Value
  28. Next
  29. Listedate.ListIndex = 0
  30.  
  31. End Sub
  32.  
  33. Private Sub Valider_Click()
  34.  
  35. '********************************************************************************************/
  36. ' Définition des variables*******************************************************************/
  37. '********************************************************************************************/
  38.  
  39. ListeDeroulanteModifiable.Hide
  40. Application.ScreenUpdating = False
  41. Marque = Listedate.Value
  42. Marque2 = Listedate2.Value
  43.  
  44. '********************************************************************************************/
  45. ' Renvoit à la gestion d'erreur en bas de page***********************************************/
  46. '********************************************************************************************/
  47.  
  48. On Error GoTo GestionErreur
  49.  
  50. '********************************************************************************************/
  51. ' Remise à zero de la feuille "compte rendu daté"********************************************/
  52. '********************************************************************************************/
  53.  
  54. Sheets("Compte rendu daté").Select
  55. Cells.Select
  56. Selection.Delete Shift:=xlUp
  57. Sheets("Données").Select
  58. ActiveSheet.ShowAllData
  59. Application.Dialogs(xlDialogFilter).Show 2
  60.  
  61. '********************************************************************************************/
  62. ' Selection et activation de l'affichage total de la feuille "Données"***********************/
  63. '********************************************************************************************/
  64.  
  65. rangecopy = Marque: Marque 2 ==========> c'est ici qu'il m'affiche une erreur de compilation
  66. Rows(rangecopy).Select
  67. Range(Marque, Marque2).Copy
  68.  
  69. Selection.Copy
  70. Sheets("Compte rendu daté").Select
  71. Range("A1").Select
  72. Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
  73. False, Transpose:=True
  74.  
  75. '*********************************************************************************************/
  76. ' Mise en forme de la feuille "Compte rendu daté"*********************************************/
  77. '*********************************************************************************************/
  78.  
  79. Selection.Interior.ColorIndex = xlNone
  80. Columns("A:A").EntireColumn.AutoFit
  81. Columns("B:B").EntireColumn.AutoFit
  82. Columns("C:C").EntireColumn.AutoFit
  83. Range("1:1,9:9,15:15,16:16,18:18").Select
  84. Range("A18").Activate
  85. Application.CutCopyMode = False
  86. Selection.Delete Shift:=xlUp
  87. Range("A1").Select
  88. ActiveCell.FormulaR1C1 = "D.Début"
  89. With ActiveCell.Characters(Start:=1, Length:=17).Font
  90. .Name = "Arial"
  91. .FontStyle = "Gras"
  92. .Size = 10
  93. .Strikethrough = False...........
Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte