Bonjour à tous,
je débute en VB et je bloque sur quelque chose qui doit être relativement simple pour les esprits éclairés que vous êtes...
j'ai eu beau chercher et chercher encore, je n'ai rien trouver approchant ma recherche sur google(il parait que la solution se trouve souvent sur google) quoique certain reconnaitront peut etre le début du code
; voila :
pour le boulot, je dois créer une macro simplifiant ma tache, je m'explique :
j'ai plusieurs choix possible de date pour des prélèvements, que je répertorie en colonne i; et en fonction de la date de début et de la date de fin je voudrais copier//coller certaines cellules afin d'exporter sur une autre feuille les informations essentielles (en l'occurrence un num client, nom, montant etc...). Il me faut donc d'abord sélectionner tous ce qui concerne la date d'échéance (le 05, le 10, le 15, le 20 ou le 25 du mois) en colonne i, puis comparer les dates de début et de fin (colonnes E et F) par rapport à la date du jour (si le 5 du mois tombe un samedi ou un dimanche ça reporte au lundi...etc) :
En balbutiant j'arrive à :
la ligne: ActiveCell.Offset(0, -7).Copy Destination:=ActiveCell.Offset(0, 1) est un exemple de copier//coller qui me permet de savoir si, en fonction des "dateDeb et DateFin", mon code fonctionne... et bien sur non!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub ech() Dim Plage As Range Dim dateDeb As Date Dim dateFin As Date Set Plage = Application.InputBox("Sélectionnez une plage", "notByMe", Type:=8) Dim Rechercheplage As String Rechercheplage = InputBox("Entrer la date d'echeance à rechercher", "...") If Rechercheplage = vbNullString Then Exit Sub Dim Cellule As Range For Each Cellule In Plage If InStr(1, Cellule.Value, Rechercheplage) > 0 Then Range(Cellule.Address).Select dateDeb = ActiveCell.Offset(0, -4) dateFin = ActiveCell.Offset(0, -3) If (dateDeb <= Date and dateFin>= date) Then ActiveCell.Offset(0, -7).Copy Destination:=ActiveCell.Offset(0, 1) End If End If Next Cellule End Sub
Je pense avoir un probleme de format de date, mais ça doit (très certainement) être un problème parmis tant d'autres...
un peu d'aide svp
Merci![]()
Partager