VBA problème dernière ligne copier/coller
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 35

VBA problème dernière ligne copier/coller



  1. #1
    invite9fb11ebe

    VBA problème dernière ligne copier/coller


    ------

    Bonjour,

    Je suis totalement incompétent en VBA, cependant je dois rédiger une macro pour le boulot...
    J'ai deux documents, un document source sur lequel apparait des résultats.
    Un document pour le suivi métrologique d'un instrument.

    Je veux transférer deux plages de données d'une feuille du document source vers le document de suivi métrologique.
    J'arrive à copier la plage, sélectionner ma destination mais les lignes ne se mettent pas où je souhaite.
    Code:
           
    blabla bla définition variables + code avant ....
                 
    Workbooks("méthode B en cours.xlsm").Activate
                        Sheets("Controle").Activate
                        nombreAl = Application.WorksheetFunction.CountA(Range("F21:F45"))
                        Range("F21:F45").Select
                        selection.Copy
                        Workbooks("Carte de controle Méthode B.xlsm").Activate
                        Sheets("Al").Activate
                        Range("D" & Rows.Count).End(xlUp).Offset(1).Select
                        selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False
    Je lance la macro, la première fois ma sélection se colle sous ma cellulé souhaitée,
    dès le deuxième essai j'ai un décalage de près de 30 lignes.....

    Auriez vous une idée?

    Merci

    -----

  2. #2
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Bonjour
    essaie en insérant la ligne en rouge :

    Citation Envoyé par fleur2touraine Voir le message
    Code:
           
    Workbooks("méthode B en cours.xlsm").Activate
                        Sheets("Controle").Activate
                        nombreAl = Application.WorksheetFunction.CountA(Range("F21:F45"))
                        Range("F21:F45").Select
                        selection.Copy
                        Workbooks("Carte de controle Méthode B.xlsm").Activate
                        Sheets("Al").Activate
                        Range("D1").Select
                        'A la place de ligne suivante, j'aurais écrit : Cells.Find("*", [D1], , , xlByRows, xlPrevious).Select puis Cells(1,0).Select 
                        Range("D" & Rows.Count).End(xlUp).Offset(1).Select
                        selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False

  3. #3
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Ca me colle tout en colonne Q ...
    c'est un cauchemar ce truc

  4. #4
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Quel est le code utilisé après la ligne Sheets("Al").Activate ?

  5. A voir en vidéo sur Futura
  6. #5
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Code:
    Cells.Find("*", [D1], , , xlByRows, xlPrevious).Select
     selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False

  7. #6
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    A remplacer par ceci, à condition qu'il n'y aie pas de cellule vide avant la dernière ligne :
    Citation Envoyé par fleur2touraine Voir le message
    Code:
    Range("D1").Select
    ActiveCell.End(xlDown).Select
    cells(1,0).Select
     selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False

  8. #7
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    J'ai une erreur à

    Code:
    cells(1,0).Select

  9. #8
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    A remplacer par :
    Activecell.Offset(1,0).select

  10. #9
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Ca fonctionne mais ça colle toujours à la même place et non sous la dernière ligne utilisée.
    Si j'active plusieurs fois la macro ça écrase au lieu d'incrémenter.
    De plus j'ai un graph qui se remplit automatiquement avec les valeurs que j'importe, il ne se met pas à jour ..

  11. #10
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Quand tu exécutes le code pas à pas (touche F8 du clavier), quelle est la cellule active après exécution de ces lignes :
    Code:
    Range("D1").Select
    ActiveCell.End(xlDown).Select
    Activecell.Offset(1,0).select
    ?

  12. #11
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Mon code:

    Code:
                        Workbooks("méthode B en cours.xlsm").Activate
                        Sheets("Controle").Activate
                        nombreAl = Application.WorksheetFunction.CountA(Range("F21:F45"))
                        Range("F21:F45").Select
                        selection.Copy
                        Workbooks("Carte de controle Méthode B.xlsm").Activate
                        Sheets("Al").Activate
                         Range("D4").Select
                        ActiveCell.End(xlDown).Select
                        ActiveCell.Offset(1, 0).Select
                        selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False
    La cellule active est la D1048576 et la macro bug,
    J'ai une cellule pleine en D4, je voudrais simplement coller mes résultats à la suite de D4 ... exemple de D5 à D8.
    Puis prochaine importation de D9 à Dn, puis Dn+1 à Dx .... etc

  13. #12
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Citation Envoyé par fleur2touraine Voir le message
    J'ai une cellule pleine en D4, je voudrais simplement coller mes résultats à la suite de D4
    Je t'avais dit de mettre Range("D1").Select et non D4
    les méthodes de sélection utilisées ne fonctionnent pas à partir de la dernière cellule remplie !
    D'autre part, il faudra mettre cette partie dans un IF pour prévoir le cas d'une colonne entièrement vide :
    Code:
         Range("D1").Select
         if activecell.offset(1,0).value<>"" then
               ActiveCell.End(xlDown).Select
               ActiveCell.Offset(1, 0).Select
         End If

  14. #13
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Donc il faut que je mette ma cellule remplie en D1?
    En gros j'importe une date et une valeur au format nombre.
    Nom : macroo.JPG
Affichages : 1138
Taille : 48,3 Ko

  15. #14
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Citation Envoyé par fleur2touraine Voir le message
    Donc il faut que je mette ma cellule remplie en D1?
    Non
    Dans l'avant dernier message que tu as publié, ton code contient ;
    Code:
    Range("D4").Select
    C'est ça qui pose problème
    remplace par :
    Code:
    Range("D1").Select

  16. #15
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Ok j'ai compris, merci
    Par contre si j’exécute plusieurs fois la macro ça écrase, j'aimerais que ça colle sous la dernière valeur importée.
    Désolé je suis débutant ...

  17. #16
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    non cela n'écrasera rien puisque tu as les instructions
    Code:
    ActiveCell.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    qui sélectionnent la première cellule vide dans la colonne.
    Quand tu exécutes la macro et que tu as 10 valeurs en D, la macro commencera à écrire dans la cellule 11

  18. #17
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    ça réécrit toujours au meme endroit

  19. #18
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Si tu exécutes le code suivant et qu'il n'y a pas de cellule vide au milieu des données, ça doit écrire sous les données existantes.
    Code:
    Range("D1").Select
    ActiveCell.End(xlDown).Select
    cells(1,0).Select
     selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False
    Tu devrais exécuter la macro pas à pas (touche F8) pour voir ce qui se passe.

  20. #19
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    quand c'est à
    Code:
    ActiveCell.Offset(1, 0).Select
    il selectionne D28.

    J'ai l'impression que lorsqu'il copie, il copie les formules.
    En gros sur ma feuille de destination rien n'apparait mais il doit voir quelque chose, je sais pas si c'est très clair ce que je dis

  21. #20
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Je veux copier ça:
    a copier.JPG


    Je veux le coller là:
    a coller la.JPG

    Ca fait ça:
    selec.JPG
    Images attachées Images attachées  

  22. #21
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Citation Envoyé par fleur2touraine Voir le message
    il selectionne D28.
    C'est le cas de figure dont je parlais au message #12
    fais ça :
    Code:
                        Workbooks("méthode B en cours.xlsm").Activate
                        Sheets("Controle").Activate
                        nombreAl = Application.WorksheetFunction.CountA(Range("F21:F45"))
                        Range("F21:F45").Select
                        selection.Copy
                        Workbooks("Carte de controle Méthode B.xlsm").Activate
                        Sheets("Al").Activate
                         Range("D1").Select
                         If(ActiveCell.value<>"" Then
                                 ActiveCell.End(xlDown).Select
                                 ActiveCell.Offset(1, 0).Select
                       End If
                        selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False

  23. #22
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    ça m'écrase tout et lorsque j'execute la macro une 2eme fois ça colle en D32 .... j'ai l'impression qu'il colle "du vide" entre D4 et D31 ....


    1.JPG
    2.JPG
    3.JPG
    4.JPG
    5.JPG

  24. #23
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Je pense savoir d'ou vient le problème,
    Si j'ai deux valeurs à importer (sur ma feuille de données), par exemple une valeur en G21 et une G22,
    Je sélectionne ma range G21:G45 (automatique), du coup il colle la range G21:G45 dans ma feuille de destination. On ne VOIT que deux cellules pleines et 22 cellules qu'on voit vide.
    Problème, on les voit vide mais lui voit quelque chose à l'intérieur ....

  25. #24
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Si quelqu'un a une idée...

  26. #25
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Citation Envoyé par fleur2touraine Voir le message
    Si j'ai deux valeurs à importer (sur ma feuille de données), par exemple une valeur en G21 et une G22,
    Je sélectionne ma range G21:G45 (automatique), du coup il colle la range G21:G45 dans ma feuille de destination.
    Pourquoi sélectionner toute cette plage alors que seulement 2 cellules suffiraient ?

  27. #26
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Car j'ai entre 2 et 20 valeurs à importer,c'est assez aléatoire

  28. #27
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    A chaque import, il faut prendre toutes les données à partir de G21 ?
    Si oui, donne le code qui sélectionne cette plage de données.

  29. #28
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    Oui c'est ça,

    j'ai mis:

    Code:
    Range("g21:g45").Select

  30. #29
    invite948b37db

    Re : VBA problème dernière ligne copier/coller

    Citation Envoyé par fleur2touraine Voir le message
    Code:
    Range("g21:g45").Select
    Remplace par :
    Code:
    Range("g21").Select
    If(ActiveCell.Offset(1,0).value<>"" Then
           ActiveCell.End(xlDown).Select
    End If

  31. #30
    invite9fb11ebe

    Re : VBA problème dernière ligne copier/coller

    ça ne selectionne que ma 2eme ligne ... (la G22)

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Copier coller rdm6
    Par invite0ae2b162 dans le forum Physique
    Réponses: 0
    Dernier message: 26/03/2015, 09h29
  2. copier-coller impossible
    Par invitee9abb5f7 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 4
    Dernier message: 06/05/2010, 12h03
  3. Problème avec le copier/coller
    Par invitec53165a4 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 09/05/2007, 15h48
  4. Copier/Coller
    Par azt dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 06/01/2007, 20h20