Macro Excel identifier deux dates

Résolu/Fermé
jacques - 2 août 2010 à 13:14
 soha - 3 août 2010 à 19:24
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!

A voir également:

5 réponses

Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 294
2 août 2010 à 13:19
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
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
Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 294
2 août 2010 à 14:19
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
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
3 août 2010 à 02:59
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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