Macro Excel identifier deux dates

Résolu
Bonjour,

Je crée une macro qui me permette de prélever des données depuis une base et de les coller, en fonction de la date dans un fichier d'analyse...
Voici le code :

Workbooks.Open Filename:="D:\Vente\Base.xls", _
UpdateLinks:=0
ActiveWorkbook.UpdateLink Name:="D:\Analyse\choux.xls", Type _
:=xlExcelLinks
Workbooks("Vente.XLS").Worksheets("Base").Range("E4:BK4").Copy
copie des données depuis le fichier base

Prueba = ("[Vente.XLS]Base!r1c12")
date de mise à jour du fichier, qui me permettra de coller l'information au bon endroit sur le fichier d'analyse

Windows("analyse.XLS").Activate
Sheets("Choux").Select

K = 1
Do While Worksheets ("Choux").Cells(K, 1) <> (PRUEBA)
K = K + 1
Loop
Et l'écriture ne permet pas qu'il "reconnaisse" la date

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
End

Merci d'avance pour l'aide!

5 réponses

  1. Re-bonjour!

    donc voilà, maintenant ça marche, merci Krysstof, il manquait bien la sélection de la cellule dans le PasteSpecial...

    prueba = Workbooks("vente.XLS").Worksheets("base").Cells(1, 12).Value

    Windows("analyse.XLS").Activate
    Sheets("Choux").Select

    K = 1
    Do While Cells(K, 1).Value <> prueba
    K = K + 1
    Loop
    Cells(K, 3).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=True, Transpose:=False

    Bonne journée!
    0
    1. Bonjour,
      J'ai à peu près le même problème que celui de jaques, mais moi j'utilise pas de macro
      je cherche jute une fonction qui permet d'identifier les dates
      je veux afficher les résultats d'une extraction sur une ligne contenant une date précise, cette date se trouve en même temps en feuil1 et feuil2 comme expliqué sur le fichier suivant:
      http://www.cijoint.fr/cjlink.php?file=cj201008/cijYQX7H0X.xlsx
      merci
      0
  2. Contributeur
    Salut le forum

    Pourquoi ne pas utiliser la méthode Find

        With ActiveSheet
            Set rFound = .Columns(1).Find(What:=LaDate, After:=.Cells(1, 1), LookIn:=xlValues, _
                LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                    MatchCase:=False, SearchFormat:=False)
    
            If Not rFound Is Nothing Then
            'ton action
            End If
    
        End With
    

    Mytå
    0
    1. hum...

      "Selection.PasteSpecial"

      tu sélectionne jamais la cellule Cells(K, 1)

      essaye de rajouter une selection de la cellule dans la boucle

      ou alors de faire le PasteSpécial sur la référence complete de la cellule

      Cells(K, 1).pastespecial (ou Cells(K-1, 1), ca va dépendre de l'idée de ton algorithme... le mieux c'est de faire la selection de la cellule dans la boucle...)
      0
      1. Bon ça avance un peu...seul problème, il colle les données de juin en juillet...^^

        Workbooks("vente.XLS").Worksheets("base").Range("E4:BK4").Copy

        prueba = Workbooks("vente.XLS").Worksheets("base").Cells(1, 12).Value

        Windows("analyse.XLS").Activate
        Sheets("choux").Select

        K = 175
        Do While Cells(K, 1).Value <> prueba
        K = K + 1
        If K = 180 Then End
        Loop
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=True, Transpose:=False

        @Krysstof : "l'écriture qui ne permet pas qu'il reconnaisse la date"...
        c'était pour dire que j'avais un problème de syntaxe, les .Value manquants...
        0
        1. je ne comprends pas tout dans tes explication, surtout le dernier commentaire sur "l'écriture qui ne permet pas qu'il reconnaisse la date"...

          mais bon, je vois un truc qui me choque :

          Prueba = ("[Vente.XLS]Base!r1c12")

          essaye plutot
          Prueba = Workbooks("Vente.XLS").sheets("Base").cells(1,12).Value
          0