Extraction de données à partir d'une date

Bonsoir,

J'ai une macro qui me permet de chercher des données dans la feuille "2013" et de les reporter dans la feuille "journal ventes" . Dans la feuille "journal ventes" apparaît toutes les données de l'année 2013. Je souhaiterai qu'il m'extrait les données qu'à partir d'une date renseignée dans la cellule $J$6 de la feuille "journal de ventes".

J'ai un petit soucis dans ma macro. Il doit chercher le numéro de facture et le reporter dans la colonne D de la feuille "journal ventes" Il affiche la formule et pas le résultat. Je contourne le problème en utilisant la fonction convertir.

Merci pour votre aide.

Titouan

232013-test.xlsm (214.24 Ko)

Bonjour

Il affiche la formule et pas le résultat.

Pour avoir le résultat, met ta colonne D au format Nombre.

Cordialement

titouan a écrit :

J'ai un petit soucis dans ma macro. Il doit chercher le numéro de facture et le reporter dans la colonne D de la feuille "journal ventes" Il affiche la formule et pas le résultat. Je contourne le problème en utilisant la fonction convertir.

Votre colonne est au format texte -> clic droit -> format -> standard ou autre format adéquat

Pour le reste, dans le module de la feuille 2 saisissez:

Private Sub Worksheet_Change(ByVal Target As Range)
  if not application.intersect(target,[j6]) is nothing then call Recopiev
End Sub

Et dans votre code rajoutez en début de boucle:

if f1.range("J" & j) > sheets(2).range("J6") then
   'votre code
end if

Ça reste juste pour dépanner. L'idéal serait que quelqu'un vous retravaille le code. Pour ma part ça ne me tente pas trop...

Cdt,

Darzou

Bonjour

Pour ce qui est du Code, tu déclare une variable i à la suite de tes variables

Sub Recopiev()

Dim J As Long, Ligne As Long

Dim F1 As Worksheet, F2 As Worksheet

Dim i As String

'écriture ventes

Range("A2:H" & Rows.Count).ClearContents

Application.ScreenUpdating = False

Ligne = 2

Set F1 = Sheets("2013")

i = Application.WorksheetFunction.Match(Range("J6"), Sheets("2013").Range("J:J"), 0)

For J = i To F1.Range("B" & Rows.Count).End(xlUp).Row

La suite...

Cordialempent

312013-test.xlsm (172.04 Ko)

Petit souci, il y a un message d'erreur lors de l'exécution de la macro.

Impossible de lire la propriété Match dans la classe worksheetFunction.

Bonjour

Excel 2007 est peut-être plus pointilleux sur la syntaxe que mon Excel 2003

Déclare i

Dim i As Byte

pour voir, car je n'ai aucun problème avec Excel 2003

Cordialement

Désolée mais Excel 2007 doit être vraiment pointilleux.

Bonjour

Reste plus qu'a attendre un utilisateur Excel 2007 pour corriger.

Cordialement

Merci pour ton aide.

Bonsoir

Pour info

Le fichier d'Amadéus fonctionne bien sur 2010 tant que la date existe

Plantage si date non trouvée

Pour y remédier

Déclarer I en Variant

Modifies/ajoutes les lignes surlignées

Sub Recopiev()
Dim J As Long, Ligne As Long
Dim F1 As Worksheet, F2 As Worksheet
Dim i
'écriture ventes
  Range("A2:H" & Rows.Count).ClearContents
  Application.ScreenUpdating = False
  Ligne = 2
  Set F1 = Sheets("2013")
  'i = Application.WorksheetFunction.Match(Range("J6"), Sheets("2013").Range("J:J"), 0)
  i = Application.Match(Range("J6"), Sheets("2013").Range("J:J"), 0)
  If IsError(i) Then
    MsgBox "Date non trouvée"
    Exit Sub
  End If

  For J = i To F1.Range("B" & Rows.Count).End(xlUp).Row
'
' Le reste inchangé

Je n'ai trouvé que cette solution

Merci Banzaï. ça fonctionne.

Tu me sort encore de l'impasse.

Bonne soirée.

Rechercher des sujets similaires à "extraction donnees partir date"