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 :

Macro copier une sélection / coller dans une autre feuille


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2018
    Messages : 11
    Par défaut Macro copier une sélection / coller dans une autre feuille
    Bonjour,

    Je comment un peux a faire des macro mais je n'arrive pas a crée un macro a mon problème.

    # J'ai 2 feuilles = "A" / "B"

    - Dans la feuille "A", J'ai la liste de produit en ligne et la liste de commande de client en colonne. Exemple du tableau ci dessous
    Nom : Capture.PNG
Affichages : 2425
Taille : 3,8 Ko
    - Dans la feuille "B", J'ai la même mais avec TOUT les clients la liste continue sur la droite du tableau. Exemple du tableau ci dessous
    Nom : Capture.PNG
Affichages : 2429
Taille : 5,3 Ko

    Mon but est de crée une macro qui sélectionne le tableau de la feuille "A" pour le copier et coller sur la feuille "B" mais qui ne colle pas toujours sur la même case, qui puisse analysé puis si la case est déjà remplie décale automatiquement.
    Et enfin a la fin du lancement du Macro quand il a tout copie/coller. Efface les données de la feuille "A" (Cellule : C2 ; C3 ; C5:CX )

    Je vous remercie d'avance.

  2. #2
    Membre éprouvé Avatar de Wololol
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 104
    Par défaut
    Bonjour,

    Ce code devrai fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Range("B1 : D5").Copy 'copie la zone souhaité
    Worksheets("B").Range("A1").End(xlToRight).PasteSpecial Paste:=xlPasteAll  'colle à la fin du tableau à droite
    Worksheets("A").Range("B1 : D5").ClearContents
    Il faut (normalement) juste que tu adaptes à la range souhaité

  3. #3
    Expert éminent 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
    Par défaut
    Citation Envoyé par Wololol Voir le message
    Ce code devrai fonctionner
    A mon avis, ça risque d'être un poil plus compliqué, étant donné que les lignes 1, 2 et 3 semble contenir des cellule fusionnées (ce qui est une erreur et une horreur en VBA)...

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2018
    Messages : 11
    Par défaut
    Et oui les 2 premières lignes sont fusionner. C'est pour sa que j'ai du mal également.

    Mais du coup comment je pourrais faire pour que tout cela fonction ?

  5. #5
    Expert éminent 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
    Par défaut
    Citation Envoyé par BennyGamer Voir le message
    Mais du coup comment je pourrais faire pour que tout cela fonction ?
    Supprimer la fusion serait un bon début (d'autant plus qu'elle est certainement inutile).

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2018
    Messages : 11
    Par défaut
    Ouais pas faux..

    Faire une grosse cellule et supprimé la colonne "D" des kilos et aussi la colonne qui me sers a dire le prix "E" . Je ferai addition sur la cellule C3 mais du coup la case C3 devrais pas être supprimé a la fin du macro.

    Et du coup le tableau deviendrai comme cela :

    Nom : Capture.PNG
Affichages : 2450
Taille : 5,6 Ko

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2018
    Messages : 11
    Par défaut
    Citation Envoyé par Wololol Voir le message
    Bonjour,

    Ce code devrai fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Range("B1 : D5").Copy 'copie la zone souhaité
    Worksheets("B").Range("A1").End(xlToRight).PasteSpecial Paste:=xlPasteAll  'colle à la fin du tableau à droite
    Worksheets("A").Range("B1 : D5").ClearContents
    Il faut (normalement) juste que tu adaptes à la range souhaité
    La ligne : Worksheets("B").Range("A1").End(xlToRight).PasteSpecial Paste:=xlPasteAll
    Me marque erreur

  8. #8
    Membre éprouvé Avatar de Wololol
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 104
    Par défaut
    Re,

    Effectivement il faut que la case A1 de la feuille B soit remplie, ce qui n'est pas le cas.

    Au vu du tableau que tu as, modifie simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("B").Range("A1").End(xlToRight).PasteSpecial Paste:=xlPasteAll
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("B").Range("A4").End(xlToRight).PasteSpecial Paste:=xlPasteAll
    En gros, la case de la range de destination ne doit pas être vide

    Bonne journée

  9. #9
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2018
    Messages : 11
    Par défaut
    Du coup vu que je débute assez sur le développement de macro.

    J'aurais voulu copier la colonne D mais ne pas sélectionner la cellule D3.
    Et le coller à la colonne D puis E ect.. Qui se décale au fur et à mesure quand la cellule cibles est déjà remplie.

Discussions similaires

  1. Faire copier coller d'une valeur entrée dans une inputbox
    Par nico17137 dans le forum VBScript
    Réponses: 4
    Dernier message: 21/06/2013, 09h33
  2. [MySQL] Comment retirer d'un menu déroulant une sélection faite dans un autre menu déroulant
    Par larsvangeil dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 21/08/2012, 13h43
  3. Réponses: 1
    Dernier message: 11/02/2011, 11h44
  4. Réponses: 82
    Dernier message: 05/02/2011, 14h34
  5. Réponses: 2
    Dernier message: 24/08/2006, 11h33

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