IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

comparer 2 dates dans 2 fichiers excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut comparer 2 dates dans 2 fichiers excel
    Bonjour
    j ai un probleme comme beaucoup sur ce forum

    je ne sais meme pas par ou commencer pour ecrire ce code

    donc j aimerais comparer 2 dates dans 2 fichiers distincts

    je m explique

    fichier 1 feuille 1 cellule B1 (date)

    fichier 2 feuille 1 cellule B5 (date)

    si date ok alors on copie fichier 1 feuille 1 cellule B7 dans fichier 2 feuille 1 cellule B12

    j ai essaye avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if workbooks("d:\\fichier1.xls").worksheets(feuil1).range(b1).value= workbooks("d:\\fichier2.xls").worksheets(feuil1).range(b5).value then
     
           ActiveCell.FormulaR1C1 = "=[fichier2]Feuil1!R8C2"
        Range("b13").Select

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par sat3367 Voir le message
    je ne sais meme pas par ou commencer pour ecrire ce code
    Peut-être par là : http://bidou.developpez.com/article/VBA/

    j ai essaye avec
    Il aurait mieux valu que tu fasses une copie du code que tu as tenté dans l'éditeur VBE.
    Car le code que tu présentes ici n'est visiblement jamais passé par le VBE.

    fichier 1 feuille 1 cellule B1 (date)
    fichier 2 feuille 1 cellule B5 (date)
    si date ok alors on copie fichier 1 feuille 1 cellule B7 dans fichier 2 feuille 1 cellule B12
    Il y a une première erreur qui saute aux yeux dans ton code : on ne mets pas de chemin dans l'indice de Workbooks.
    Un Workbook n'est pas un fichier mais un classeur. La différence peut paraitre mince mais elle est réelle : un classeur, c'est un fichier chargé dans Excel.
    Donc, si tes fichiers ne sont pas ouvert, ton code ne peut pas fonctionner.

    Deuxièmement, quand on désigne une feuille par son nom dans WorkSheets, on met ce nom entre guillemets.
    Idem pour les références de cellules dans un Range.

    Et une structure If Then se cloture par un End If.

    Bref, je crois que la lecture du document que j'ai mis en lien au début de ce message te serait très utile.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Workbooks("fichier1.xls").Worksheets("feuil1").Range("B1").Value = Workbooks("fichier2.xls").worksheets("feuil1").Range("B5").Value Then
        Workbooks("fichier2.xls").Worksheets("feuil1").Range("B12").Value = Workbooks("fichier1.xls").worksheets("feuil1").Range("B7").Value
    End If
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Citation Envoyé par sat3367 Voir le message
    if workbooks("d:\\fichier1.xls").worksheets(feuil1).range(b1).value= workbooks("d:\\fichier2.xls").worksheets(feuil1).range(b5).value then
    Si le fichier est ouvert pas besoin de mettre le chemin dans workbooks, si il n'est pas ouvert commence par l'ouvrir (workbooks.open)
    Si tu ne met pas de guillemets feuil1 est considéré comme une variable et pas du texte, idem pour b1,b5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if workbooks("fichier1.xls").worksheets("feuil1").range("b1").value= workbooks("fichier2.xls").worksheets("feuil1").range("b5").value then
    on copie fichier 1 feuille 1 cellule B7 dans fichier 2 feuille 1 cellule B12
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbooks("fichier1.xls").worksheets("feuil1").range("b7").copy destination:= workbooks("fichier2.xls").worksheets("feuil1").range("b12")
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

Discussions similaires

  1. [Batch] Comparer la valeur d'une même cellule nommée dans deux fichiers excel
    Par stsym dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 24/02/2016, 18h17
  2. Date la plus ancienne dans un fichier excel pour insertion dans un tableau PHP
    Par Breton2408 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 27/06/2015, 20h52
  3. Réponses: 25
    Dernier message: 14/04/2015, 14h58
  4. Comparaison de date dans un fichier excel
    Par elkhansa dans le forum VBScript
    Réponses: 0
    Dernier message: 18/09/2013, 17h45
  5. Réponses: 4
    Dernier message: 29/01/2009, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo