Extraction entre deux dates

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BERRACHED said

XLDnaute Accro
Bonjour,
je suis vraiment coincé s'il y a quelqu'un qui peut m'aider dans un classeur Excel j'ai nommé une feuille "BD" qui contienne toute les enregistrement de l'année étaler sur cinq colonnes A=Date,B=Montant,C=Noms et prénoms,D=Ville,E=Qualité je voudrais extraire ses données par période (Quinzaine,Mensuelle,Trimestrielle ect.......) selon les besoin les résultat de l'extraction sera transférer vers une autre feuille Nommée "Collection"pour pouvoir l'éditer pour cela j'ai créer un userform qui contiens deux textBox nommée "StartDate"et "StopDate" et un bouton "Ok" qui abrite le code mais ça n'a pas marche AIDEZ MOIS SVP
Voici le code

On Error GoTo errorHandler
Dim StartDate As String
Dim StopDate As String
Dim startRow As Integer
Dim stopRow As Integer
If StartDate = "" Then End
StartDate = Format(StartDate, "dd/mm/yyyy")
If StopDate = "" Then End
StopDate = Format(StopDate, "dd/mm/yyyy")

If Range("a2").Value >= Me.StartDate.Value And Range("a2").Value <= Me.StopDate.Value Then

startRow = Sheets("BD").Range("A65536").Find(Me.StartDate, _
LookIn:=xlValues, lookat:=xlWhole).Row
stopRow = Sheets("BD").Range("A65536").FindNext(Me.StopDate, _
LookIn:=xlValues, lookat:=xlWhole).Row

Sheets("BD").Range("A2" & startRow & ":A65536" & stopRow).Copy _
Destination:=Sheets("collection").Range("A")
End
errorHandler:
MsgBox "There has been an error: " & Error() & Chr(13) _
& "Ending Sub.......Please try again", 48
End If
End Sub
 
Re : Extraction entre deux dates

Re

tu devrais mettre ton fichier en pièce jointe, sans données confidentielle, plus facile pour t'aider... Quand tu dis mon code n'a pas marché, tu n'as pas le résultat attendu ou tu as un message d'erreur, si oui sur quelle ligne.

@+

Voila le fichier j'espere qu'il arrive intact
 

Pièces jointes

Re : Extraction entre deux dates

Bonjour,
je suis vraiment coincé s'il y a quelqu'un qui peut m'aider dans un classeur Excel j'ai nommé une feuille "BD" qui contienne toute les enregistrement de l'année étaler sur cinq colonnes A=Date,B=Montant,C=Noms et prénoms,D=Ville,E=Qualité je voudrais extraire ses données par période (Quinzaine,Mensuelle,Trimestrielle ect.......) selon les besoin les résultat de l'extraction sera transférer vers une autre feuille Nommée "Collection"pour pouvoir l'éditer pour cela j'ai créer un userform qui contiens deux textBox nommée "StartDate"et "StopDate" et un bouton "Ok" qui abrite le code mais ça n'a pas marche AIDEZ MOIS SVP
Voici le code

On Error GoTo errorHandler
Dim StartDate As String
Dim StopDate As String
Dim startRow As Integer
Dim stopRow As Integer
If StartDate = "" Then End
StartDate = Format(StartDate, "dd/mm/yyyy")
If StopDate = "" Then End
StopDate = Format(StopDate, "dd/mm/yyyy")

If Range("a2").Value >= Me.StartDate.Value And Range("a2").Value <= Me.StopDate.Value Then

startRow = Sheets("BD").Range("A65536").Find(Me.StartDate, _
LookIn:=xlValues, lookat:=xlWhole).Row
stopRow = Sheets("BD").Range("A65536").FindNext(Me.StopDate, _
LookIn:=xlValues, lookat:=xlWhole).Row

Sheets("BD").Range("A2" & startRow & ":A65536" & stopRow).Copy _
Destination:=Sheets("collection").Range("A")
End
errorHandler:
MsgBox "There has been an error: " & Error() & Chr(13) _
& "Ending Sub.......Please try again", 48
End If
End Sub

merci merci
 

Pièces jointes

Re : Extraction entre deux dates

Bonjour BERRACHED said, Jean-Pierre, Guiv, maitrexc

regarde le code ci dessous, j'ai effectué quelques modifications, doit fonctionner si les dates saisies dans les textbox sont présentes dans la colonne A.

Code:
Option Explicit
Private Sub CommandButton1_Click()
Dim startRow As Integer, stopRow As Integer, d1 As Range, d2 As Range

On Error GoTo errorHandler

If StartDate = "" Then End
StartDate = Format(StartDate, "dd/mm/yyyy")
If StopDate = "" Then End
StopDate = Format(StopDate, "dd/mm/yyyy")

If Range("a2").Value >= Me.StartDate.Value Or Range("a2").Value <= Me.StopDate.Value Then

Set d1 = Sheets("BD").Range("A:A").Find(CDate(Me.StartDate.Value), LookIn:=xlValues, lookat:=xlWhole)

If Not d1 Is Nothing Then startRow = d1.Row

Set d2 = Sheets("BD").Range("A:A").Find(CDate(Me.StopDate.Value), LookIn:=xlValues, lookat:=xlWhole)

If Not d2 Is Nothing Then stopRow = d2.Row

Sheets("BD").Range("A" & startRow & ":A" & stopRow).Copy _
Destination:=Sheets("collection").Range("A1")
End
errorHandler:
MsgBox "There has been an error: " & Error() & Chr(13) _
& "Ending Sub.......Please try again", 48
End If
End Sub

bon dimanche.
@+
 
Re : Extraction entre deux dates

salut pierrot93
j'ai essaye ton dernier code formidable il a debloqué un peu la situation il va falloir proceder a des petite modification du genre with sheets "collection" pour qu'il copier les autre cellules adjacentes c a dire les autres informations dans "BD"
t'es vraimant fort merci tu me doit un cafe
nb: je ne sais pas si tu a vu le fichier joint je l'ai envoyer hier
 
Re : Extraction entre deux dates

bonjour,

Comme je n'aime pas trop le vba et que d'un autre côté excel fait très bien les extraction tout seul (données, filtre, filtre élaboré), je prèfère de loin utiliser cette solution
donc voici ce que je te propose (sans utilisation de formulaire, les dates sont à mettre dans la feuille d'extraction)

à plus

><>
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
909
Réponses
2
Affichages
588
Réponses
3
Affichages
1 K
Retour