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 :

Problème macro répétitive


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur calcul mécanique
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur calcul mécanique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Par défaut Problème macro répétitive
    Bonjour tout le monde,

    Je bloque depuis peu sur une macro que j'aimerais réalisé. Etant débutant en macro, j'ai un peu bricolé avec tout ce que j'ai pu trouver pour faire quelquechose mais le résultat n'est pas correct.

    J'explique mon problème:
    Je souhaite d'un classeur A (CEB_final) copier plusieurs cellules à un classer B (Essai_opt_1)
    puis du fichier B copier d'autres cellules vers des cellules du classeur B.
    jusque là pas de problème sauf que quand je boucle pour réitérer cette opération sur plusieurs lignes Excel ne m'affiche le copier collé que pour la premiere et dernier ligne.

    Si quelqu'un pouvait m'aider ce serait super sympa

    Ci-dessous mon code:

    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
    Sub
     
    Dim i As Long
    Dim DerniereLigne As Long
     
    DerniereLigne = Range("B65536").End(xlUp).Row
     
    For i = 6 To DerniereLigne
     
    'Selection des données Input pour ligne 1
        Windows("CEB_final.xlsx").Activate
        Sheets("IRWST").Range("K:P" & DerniereLigne).Select
        Selection.Copy
        Windows("ESSAI_opt_1.xlsm").Activate
        Range("E:J" & DerniereLigne).Select
        Next iActiveSheet.Paste
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ActiveWindow.SmallScroll Down:=-6
    End Sub

  2. #2
    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
    Bonjour,

    DerniereLigne = Range("B65536").End(xlUp).Row
    Ici tu calcules le nombre de lignes du fichier qui contient la macro, et tu utilises ce nombre aussi dans l'autre. Est-ce bien ce que tu veux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 6 To DerniereLigne
    'Selection des données Input pour ligne 1
        Windows("CEB_final.xlsx").Activate
        Sheets("IRWST").Range("K:P" & I).Copy
        Windows("ESSAI_opt_1.xlsm").Activate
        Range("E:J" & I).PasteSpecial
    End Sub
    Ceci devrait fonctionner, mais tu devrais penser à créer des variables-objets Workbook et Worksheet...

    Et comme il n'y a aucune condition, aussi bien copier d'un coup sans boucle...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Windows("CEB_final.xlsx").Activate
        Sheets("IRWST").Range("K6:P" & DerniereLigne).Copy
        Windows("ESSAI_opt_1.xlsm").Activate
        Range("E6").PasteSpecial

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur calcul mécanique
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur calcul mécanique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Par défaut
    Merci Parmi pour ta réponse



    Je me suis trompé dans mon code: le next devrait être en avant dernière ligne. Sinon concernant l'incohérence de mon code, c'est normal, c'est un code que j'ai bricolé à travers ce que j'ai pu trouver et comprendre un peu sur les forums...

    comme je l'ai dit, je souhaite d'un classeur A (CEB_final) copier plusieurs cellules à un classer B (Essai_opt_1), les cellules copiées sont les cellules de K à P de la dernière 6ème ligne à la dernière.
    Ces valeurs copiées vont me permettre de lancer un calcul dans le fichier B, puis, une fois le calcul effectué, j'aimerais exporter les résultats obtenus vers les classeur A et les coller de la colonne Q à T du second classeur.
    j'ai plusieurs centaines de lignes du coup j'aimerais créer une boucle qui me fait ce "copié/collé" autant de lignes qu'il y a c'est pour cela que je commence par calculer le nombre de lignes

  4. #4
    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
    Si tu le faisais manuellement, est-ce que tu copierais toute la plage d'un coup ou tu y irais ligne par ligne ?
    De ce que je peux comprendre, tu prends la plage au final (en passant ligne par ligne), donc pas nécessaire de faire cette boucle.

Discussions similaires

  1. problème macro et filtre automatique par une variable texte
    Par Drozo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/08/2007, 09h05
  2. problème macro vba collage
    Par olodin dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 20/06/2007, 11h02
  3. problème macro vba collage
    Par olodin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2007, 10h08
  4. Problème macro modèle à document
    Par perophron dans le forum VBA Word
    Réponses: 9
    Dernier message: 16/05/2007, 10h38
  5. [VBA-E] Problème macro excel
    Par pontus21 dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 19/05/2006, 18h38

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