Recheche de dates entre un intervalle

  • Initiateur de la discussion pittex
  • Date de début
P

pittex

Guest
Bonjour,

J'ai besoin d'un pti coup de main SVP.

Je cherche à retrouver dans une liste de dates, celles qui correspondent à un intervalle entre une date de début et la date du jour.

J'ai joint un fichier au cas ou.


Merci,Merci,Merci,Merci,Merci,Merci,Merci,Merci,................
 

Pièces jointes

  • Recherche_date.zip
    1.5 KB · Affichages: 20
  • Recherche_date.zip
    1.5 KB · Affichages: 21
  • Recherche_date.zip
    1.5 KB · Affichages: 17
M

myDearFriend

Guest
Bonsoir tout le monde, le Forum.

Pour répondre à ta première question Niko, tu trouveras ci-joint le fichier modifié en conséquence.

Cordialement,
Didier_mDF
 

Pièces jointes

  • PourNiko.zip
    12.4 KB · Affichages: 13
M

myDearFriend

Guest
Heu..... toutes mes excuses CHti160,

Je viens de répondre à ce fil car Niko venait de m'en parler sur le T'Chat, et je n'ai même pas pris la peine de te saluer ni de faire référence à ton travail, ce dernier m'ayant pourtant servi de base pour répondre.

Pour ça, je te prie d'accepter mes plus plates excuses et te salue comme il se doit....

Cordialement,
Didier_mDF
 
C

CHti160

Guest
Salut" myDear" "Friend"

je vois que comme beaucoup (Thierry,Michel,Laurent,ti etc )tu utilises des la methode du tableau pour extraire et trier des données
je n'arrive pas à comprendre la methode utilisée, pourrais tu si cela n'est pas trop demander m'expliquer,me donner ,le raisonnement à suivre pour utiliser cette methode avec comme dirait Thierry un "Full Comments"
tu peux utiliser mon adresse si tu le veux.
merci d'avance
A+++
Jean Marie
 
M

myDearFriend

Guest
Ci-joint ton fichier corrigé Niko,

Le problème vient du fait que l'exemple précédent se référait à une seule colonne alors que ton document utilise une plage multicolonnes.

j'ai également rajouté au code une routine de Tri comme tu me l'as demandé sur le Tchat.

Cordialement,
Didier_mDF
 

Pièces jointes

  • PourNiko2.zip
    26.2 KB · Affichages: 19
@

@+Thierry

Guest
Bonjour Monique, Didier, Jean-Marie, Niko, Pittex

Juste pour Jean Marie (Ch'ti) voici le code de didier de la derniere macro tablo en "Full Comments"

On Error Resume Next 'ICI on place l'instruction pour gérer l'erreur en cas de doublon
'dans les "Key" dela "New Collection" => Co
For Each Cell In Plage
If Cell.Interior.ColorIndex = 3 Then
Co.Add Cell.Value, CStr(Cell.Value) 'ICI on ajoute chaque cellule, et on remet la même "String"
'en tant que "Key" (ce qui provoque une erreur en cas de
'doublon dans cette clef qui ne peut être unique

End If
Next Cell
On Error GoTo 0


'Tri
For i = 1 To Co.Count - 1 'ICI on lance une Boucle sur le nombre d'Item de la Collection
For i2 = i + 1 To Co.Count 'ICI on lance une seconde Boucle imbriquée et décalée inférieurement
If Co(i) > Co(i2) Then 'ICI on test si la Valeur dans la Boucle primaire est supérieure à la seconde
Temp1 = Co(i) 'Si oui on récupère la valeur dans une variable temporaire
Temp2 = Co(i2) 'Idem
Co.Add Temp1, before:=i2 'on déplace les valeurs
Co.Add Temp2, before:=i ' Idem
Co.Remove i + 1 'on supprime les anciennes
Co.Remove i2 + 1 'idem

End If
Next i2
Next i

ReDim Liste(2, Co.Count) 'ICI On dimensionne un tableau séquentiel (2 colonnes, X lignes (BASE 0)
For i = 1 To Co.Count 'on lance la boucle
Liste(0, i - 1) = Co(i) 'on entre la valeur dans ce tableau
For Each Cell In Plage
If Cell.Value = Liste(0, i - 1) Then 'ICI on compare les cellules avec le tableau (Col 0, Ligne i -1)
Liste(1, i - 1) = Liste(1, i - 1) + 1 'et si ça match on compte les occurrences
End If
Next Cell
Next i

'on envoie le tableau dans la plage
With Sheets(1)
.Range(.Cells(1, 1), .Cells(2, UBound(Liste, 2))).Value = Liste
End With

NB j'ai dimensionné le Tablo en Base Zéro, car soit on bascule en Option Base 1, et on fait comme Didier, soit on reste en Base Zéro, mais il vaut mieux éviter de forcer en Redim un tablo hybride.

NB voir le "Kiki de Zon" en pages Wiki, qui tente d'être explicatif là dessus.

Bonne Journée
@+Thierry
 
C

CHti160

Guest
Salut "aux anciens,ceux d'hier"

un bonjour à @+Thierry et au "FORUM"

je te remercie avant de commencé à lire ta prose car le VBA comme je dit c'est comme la lecture plus on lit plus on sait lire et plus ont comprend ce que l'on lit
cela fait un momment que je voulais te demander ainsi qu'a d'autres des explications sur cette methode l'utilisation des tableaux(via tes "Full comments "si precieux pour moi.
il y peu de post sur le "FORUM" qui parle de ce sujet( les tableaux)
c'est une histoire de logique que je n'ai pas encore,mais je pense que grâce à vous je ne vais pas tardé à la maitriser.
Encore merci
A+++
Jean Marie
 
P

pittex

Guest
Bonjour,

Je vois que le post que j'ai lancé à servi à d'autres. Pour compléter le code ci-dessous je souhaiterais que la source des cellules D8 et D10 soit prise dans l'onglet WS2.

Dim Cell As Range
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Dim Plage As Range
Dim Ligne As Long

'Déclaration des longlets
Set WS1 = Worksheets("Base_corrective")
Set WS2 = Worksheets("Temporaire")

'Détermine la derniere ligne de la plage
Ligne = WS1.Range("D65536").End(xlUp).Row

'Modifie la plage de ton tableau
Set Plage = WS1.Range("C1:C" & Ligne)

'Colore en blanc les cellules de la plage
Plage.Interior.ColorIndex = xlNone

For Each Cell In Plage
Select Case Cell
Case Range("D8") To Range("D10") ====> Cellules à prendre ds un
autre onglet
Cell.Interior.ColorIndex = 3
End Select
Next


Merci pour votre aide.
 
C

CHti160

Guest
Salut "pittex"
Bonsoir le "FORUM"
je ne comprends pas ta question
alors Question tu veux en même temps que la cellule de la colonne C
exporter la cellule de la colonne D?
si je comprends la Date en C plus la cellule contigue D
peux tu éclairer ma Lanterne ?
A+++
Jean Marie
 

Discussions similaires

Statistiques des forums

Discussions
314 210
Messages
2 107 301
Membres
109 798
dernier inscrit
NAJI2005