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 VBA copié/collé de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 8
    Par défaut Macro VBA copié/collé de données
    Bonjour,

    Je commence à codé en VBA et j'ai un petit code à faire mais je n'y arrive pas. J'ai donc besoin de votre aide svp

    J'ai un classeur excel avec 2 feuilles. Je souhaite créer une feuille excel à partir de ces deux feuilles et copié/collée quelques données des deux feuilles.

    1ère feuille
    Définition de projet Désignation Société
    B09X.030010 SNECMA - Batiment 12 - Banc 46ER B09X


    2ème feuille
    Ordre Désignation Société
    B09X40013000 SAN VAL MAUBIE B09X
    Dans la troisième feuille, il faudrait que ce soit dans ce genre :
    Libellé Opération Type d'opération Code société Libellé mission
    concaténation de l'ordre/la définition de projet avec la désignation Si ça vient de la 1ère feuille : travaux ou Si ça vient de la 2ème feuille : commercial Ici le code société (ici B09X) si c'est travaux alors on a cinq lignes (GPA/Conformité/Contentieux TRAVAUX/Prêt de Personnel/GPA–Passation Technique) ou si c'est commercial alors on a trois lignes (D.O./Décennale/Contentieux SAV)


    Si vous pouvez m'aider svp Et si ce n'est pas claire je peux vous apporter des infos.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Salut à toi, quand tu dis que tu n'y arrives pas, peux-tu nous dire ce qui te bloque ? Montre-nous ton code, que l'on puisse te guider

    PS : fais attention à ce que les informations que tu écris ne soient pas confidentielles ! Je les trouve un peu trop détaillées

    Quentin

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 8
    Par défaut
    Les infos ne sont pas confidentielles.

    Je ne sais pas par quoi commencer. J'ai aucun code à vous montrer...

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Resalut,

    Tu as plein de tutos sur ce site (et sur le net)

    - Pour te donner quelques outils, sur l'éditeur VBA (ALT-F11), insère un module (insertion/module). Et dedans tu peux écrire tes macros.
    -En ce qui concerne les macros
    -Pour la commencer écrire : Sub Le_Nom_De_La_Macro()
    -Pour la finir, écrire : End Sub

    Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub PremièreMacro()
     
    'Ton code doit 
    'être écrit ici
     
    End Sub
    Chaque ligne commençant par ' ou chaque fin de ligne à partir d'un ' n'est pas lue par VBA, il s'agit de commentaires uniquement utiles au développeur

    Enfin, ce qui va te servir le plus : gérer les cellules Excel (Range, en VBA)

    Donc en ce qui concerne les plages de cellules Excel :
    - Pour les écrire dans le code :
    -A1 = Range("A1")
    -A2:$C4 = Range("A2:$C")
    - Pour utiliser leurs propriétés, fonctions, méthodes, etc... juste marquer un point (.) à la fin de Range(...) :
    - Pour sélectionner H7 : Range("H7").Select
    - Pour passer sa police en gras : Range("H7").Font.Bold = True
    - Pour copier H7 et la coller en G3 : Range("H7").Copy Destination:=Range("G3") (Tu peux également faire juste Range("H7").Copy et ensuite Range("G3").PasteSpecial)
    etc

    En ce qui concerne les pages, c'est pareil avec Sheets :
    - Sélectionner la première page par son nom : Sheets("Feuil1").Select
    - Renommer la 4ème page par son index : Sheets(4).Name = "Nouveau nom"
    - Copier la range("A2:C4") de la deuxième feuille et la coller dans la 3ème feuille en A1 : Sheets(2).Range("A2:C4").Copy Destination:=Sheets(3).Range("A1")
    - Pour ajouter une feuille en dernière position : Sheets.Add After:=Sheets(Sheets.Count)
    Je pense que ça te fait déjà pas mal d'outils pour commencer !

    Essaye et dis-nous ce qui ne va pas

    Quentin

    PS : pour lire le code, soit tu lis tout d'un coup avec F5 (ou le bouton lecture), soit en pas à pas avec F8 (une fois par ligne)

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 8
    Par défaut
    J'ai un peu bossé sur cette macro.
    J'ai un premier résultat qui n'est pas celui attendu.

    J'arrive à copier des colonnes, les concaténer mais j'ai besoin de multiplier chaque lignes de ma nouvelles feuille Recap par 5 et affecter à chacune des lignes copiées une donnée (une ligne GPA, une ligne conformité....)
    voir photo : Nom : Sans titre.png
Affichages : 246
Taille : 19,2 Ko
    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
    25
    Sub Bouton1_Cliquer()
     
    Dim iTrav As Integer
    Dim iRecap As Integer
    Dim Trav As Worksheet
    Dim Recap As Worksheet
     
    Set Trav = Worksheets("Travaux")
    Set Recap = Worksheets("Recap")
     
    iRecap = 2
     
    For iTrav = 2 To 150
        Recap.Range("A" & iTrav) = Trav.Range("A" & iTrav) & "-" & Trav.Range("B" & iTrav)
     
        Recap.Range("B" & iTrav) = "2-Travaux"
        Recap.Range("C" & iTrav) = "B09X"
        Recap.Range("E" & iTrav) = "HAS-SAV"
     
    Next
     
     
     
     
    End Sub

Discussions similaires

  1. [PPT-2007] Macro VBA copie présentation
    Par audran12 dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 03/05/2012, 14h12
  2. [XL-2010] Macro VBA copie tableau Excel sous Powerpoint
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/04/2012, 09h47
  3. [XL-2000] Modifier une macro qui copie/colle vers une autre feuille
    Par wyzer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2010, 23h02
  4. code VBA copie colle cellule d'1 fichier excel à 1autre
    Par tony020422 dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 03/06/2009, 18h47
  5. [XL-2003] Macro VBA copie valeur cellule excel et colle dans doc word
    Par tony020422 dans le forum Macros et VBA Excel
    Réponses: 54
    Dernier message: 03/06/2009, 09h21

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