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 :

Sauter une ligne [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 21
    Par défaut Sauter une ligne
    Bonjour tout le monde,

    Voila mon problème. J'aimerai feeder mensuellement une partie d'une base de données à partir d'une autre base de données. Les base en questions fonctionnent comme un tableau à double entrée il y a un identifiant dans la première colonne et un identifiant en premiere ligne pour chaque colonne. Les deux sont dans le même classeur sur des sheet différente. ps: je n'utilise pas un vlookup dans les cellules concerné dans la sheet "réceptrice" car elle ne peut pas contenir de formule..


    J'ai travailler avec un forumeur (merci Parmi) sur un bout de code qui fonctionne à merveille. Malheureusement il prends pas en compte le fait que certaine lignes ne sont pas dans la base de donné (qui feed) et qu'il faut donc laissé la ligne tel qu'elle sont actuellement et ne pas me remplire le tableau de #N/A ...

    J'ai bien essayé de faire un "if" ou un "for" mais je ne parviens pas à faire marcher mes codes...

    Qui puis-je faire pour remédier à ce problème ?

    Le code actuel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub Copie2()
        Dim nbLignes As Long
     
     
        Application.Calculation = xlCalculationManual 'passe en mode calcul manuel
     
        Worksheets("sheet1").Activate
        nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
     
     
        Range("B3:B" & nbLignes).Formula = "=VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE)"
        Range("C3:C" & nbLignes).Formula = "=VLookup(A3, Page5_1!$A$3:$H$106, 3, FALSE)"
        Range("D3:D" & nbLignes).Formula = "=VLookup(A3, Page5_1!$A$3:$H$106, 4, FALSE)"
        Range("E3:E" & nbLignes).Formula = "=VLookup(A3, Page5_1!$A$3:$H$106, 5, FALSE)"
     
        Application.Calculation = xlCalculationAutomatic 'passe en mode calcul automatique pour mettre à jour les formules une seule fois
     
        Range("B2:Z" & nbLignes).Copy
        Range("B2:Z" & nbLignes).PasteSpecial xlPasteValues
     
        Range("A1").Select
        Application.CutCopyMode = False
     
    End Sub

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    Sans avoir testé, ta formule devrait devenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B3:B" & nbLignes).Formula = "=If(ISERROR(VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE)),"",VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE))"
    Bien sur à retraduire sur les autres lignes
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 21
    Par défaut
    Merci beaucoup pour ta réponse !

    Malheureusement ta ligne me donne une erreur... Mais comme ça vu d'oeil le fait de mettre

    "=If(ISERROR(VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE)),"",VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE))"

    va laisser la valeur existante ? ou va la remplacer par un vide ?

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    La formule est faite à main levée, tu devrais pouvoir la corriger

    "=If(ISERROR(VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE)),"",VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE))"

    va laisser la valeur existante ? ou va la remplacer par un vide ?
    Ce n'est pas ce que tu voulais quand la réponse est N/A ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Dans ta formule (Formula), il faut toujours que tu doubles les apostrophes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=If(ISERROR(VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE)),"""",VLookup(A3, Page5_1!$A$3:$H$106, 2, FALSE))"

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 21
    Par défaut
    Merci à vous 2

    Ce n'est pas ce que tu voulais quand la réponse est N/A ?
    Ce que j'aimerais c'est que la valeur déjà existante dans le tableau reste. qu'elle soit ni remplacé par un #N/A ni part un vide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment sauter une ligne lors de l'ecriture dans un fichier
    Par Harald dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 29/05/2009, 18h01
  2. sauter une ligne avec Layout...
    Par youp_db dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 16/12/2005, 19h54
  3. [D7] Comment sauter une ligne dans un titre de grid ?
    Par Magnus dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/04/2005, 12h47
  4. [langage] Sauter une ligne en ecrivant dans un fichier
    Par mickey02 dans le forum Langage
    Réponses: 3
    Dernier message: 17/03/2005, 18h02
  5. [word] Sauter une ligne
    Par webbulls dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/05/2004, 10h50

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