Votre question

Selectionner des lignes suivant des critères

Tags :
  • Selection
  • Programmation
Dernière réponse : dans Programmation
30 Mars 2010 13:23:46

Bonjour tout le monde.

Etant débutant dans les macros , voila ce que j'essaye de faire:

Dans mon cahier de compte exel, je désire sélectionner les lignes concernant l'année en cours (colonne C). Puis ensuite réduire cette sélection aux lignes concernant le mois en cours (colonne E) de l'année en cours.

Après cette sélection j'aimerais faire une macro soit sur certaines cellules vides , soit sur certaines cellules dont le contenu change pour le mois en cours de l'année en cours

La première partie fonctionne correctement et toutes les lignes de l'année 2010 sont bien sélectionnées.

Par contre la deuxième partie ne fonctionne pas. les Lignes correspondant au mois d'avril (mois en cours) ne sont pas sélectionnées et il a un Bug => Il ne reconnait pas : xlRange1.Select à la fin de la macro

Est ce quelqu'un pourrait me donner un petit coup de pouce et m'expliquer pourquoi ça plante ?

Merci d'avance pour votre aide car là je galère.



Voici mon code:

  1. Sub année_2010()
  2.  
  3. Dim xlRange As Range
  4. Dim xlRange1 As Range
  5. Dim xlTempR As Range
  6. Dim cll As Range: Dim LastRow As Long
  7.  
  8. 'L'année de référence (année en cours) est définie automatiquement dans la cellule L1
  9. Année = Range("L1").Value
  10.  
  11. 'Le mois de référence (mois en cours) est défini automatiquement dans la cellule P1
  12. Mois = Range("P1").Value
  13.  
  14. LastRow = Cells(Cells.Rows.Count, "C").End(xlUp).Row
  15.  
  16. For Each cll In Range("C7:C" & LastRow)
  17.  
  18. If cll.Value = Année Then
  19.  
  20. If xlRange Is Nothing Then
  21.  
  22. Set xlRange = cll.EntireRow
  23.  
  24. Else
  25.  
  26. If xlRange.Areas.Count > 0 Then
  27.  
  28. Set xlRange = Union(xlRange, cll.EntireRow)
  29.  
  30. End If
  31.  
  32. End If
  33.  
  34. End If
  35.  
  36. Next
  37.  
  38. xlRange.Select
  39.  
  40. For Each cll In ActiveCell
  41.  
  42. If cll.Value = Mois Then
  43.  
  44. If xlRange1 Is Nothing Then
  45.  
  46. Set xlRange1 = cll.EntireRow
  47.  
  48. Else
  49.  
  50. If xlRange1.Areas.Count > 0 Then
  51.  
  52. Set xlRange1 = Union(xlRange1, cll.EntireRow)
  53.  
  54. End If
  55.  
  56. End If
  57.  
  58. End If
  59.  
  60. Next
  61.  
  62. xlRange1.Select
  63.  
  64. End Sub

Autres pages sur : selectionner lignes suivant criteres

30 Mars 2010 19:24:26

Quelqu'un peux t'il me donner un petit coup de main s'il vous plait
Merci d'avance

Janopolo
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS