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 :

Copier/coller une plage d'une feuille sur une autre et recherchev pour chaque colonne de la plage


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2023
    Messages : 2
    Par défaut Copier/coller une plage d'une feuille sur une autre et recherchev pour chaque colonne de la plage
    Bonjour,

    J'ai besoin de votre aide pour le code VBA.

    - J'aimerais copier/coller dynamique de la plage de ma feuil1, intitulé "rep forms" vers la feuil3, intitulé "mapping" du même fichier. Mais que le collage ne fasse pas un bloc mais qu'entre chaque colonne collée il y ait une colonne d'espace à chaque fois sauf pour les 5 premières colonnes.

    Cette première feuille correspond à des reponses d'un questionnaire MS forms. J'ai créé une feuil 2 "score rep" qui répertorie l'ensemble des réponses de mes questions (car il s'agit de question type choix avec une seule réponse possible) et une colonne de point (de 0 à 5)


    - Dans chaque colonne vide après collage dans la feuil "mapping" il y aurait l'équivalent de la recherchev pour récupérer le score de la feuil2 "score rep" à chacune des colonnes collées

    J'espère que ce que j'ai décris et clair et je vous remercie par avance de votre aide
    Images attachées Images attachées    

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    un bricolage à tester avec prudence sur une copie de ton fichier pour munir contre tous risques de pertes de données
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Sub TEST()
    Dim F1 As Worksheet, f2 As Worksheet, f3 As Worksheet
        Dim derlig As Long
        Application.ScreenUpdating = False
        Set F1 = Sheets("rep forms")
        Set f2 = Sheets("score rep")
        Set f3 = Sheets("mapping")
        f3.Cells.ClearContents
        C = 1
        For X = 1 To 6
        F1.Columns(X).Copy
        f3.Cells(1, C).PasteSpecial Paste:=xlPasteValues
        C = C + 1
        Next X
        C = 8
        For X = 6 To 8
        F1.Columns(X).Copy
        f3.Cells(1, C).PasteSpecial Paste:=xlPasteValues
        C = C + 2
        Next X
        Application.CutCopyMode = False
     
        ' enregistrer les score
     
        Dim SCORE As Range
        derlig = f3.Cells(Rows.Count, 1).End(xlUp).Row
        Set SCORE = f2.Range("A2:A" & f2.Range("A" & Rows.Count).End(xlUp).Row)
        For L = 2 To derlig
        For Col = 6 To 12
        Set C = SCORE.Find(f3.Cells(L, Col), LookIn:=xlValues, lookat:=xlWhole)
        If Not C Is Nothing Then
        f3.Cells(L, Col + 1) = f2.Cells(C.Row, 3)
        End If
        Col = Col + 1
        Next Col
        Next L
        MsgBox ("regroupement effectué avec succès")
        f3.Select
        Set F1 = Nothing
        Set f2 = Nothing
        Set f3 = Nothing
     
         Application.ScreenUpdating = True
    End Sub

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2023
    Messages : 2
    Par défaut Retour
    Bonjour BENNASR,

    Je voulais vous remercier! Je viens de tester le code et il fonctionne.
    J'ai juste modifier le nombre de colonne dans le code mais sinon c'est parfait!

    Merci beaucoup pour votre aide

    Aurélie

Discussions similaires

  1. [XL-365] Copier coller une plage de cellules vers une autre feuille
    Par Ally1309 dans le forum Excel
    Réponses: 5
    Dernier message: 05/08/2019, 10h58
  2. [XL-2016] copier coller une plage de données d'une colonne à une autre sur la même feuille
    Par Nabilbennalla dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/03/2019, 16h21
  3. Réponses: 2
    Dernier message: 14/08/2017, 14h46
  4. Réponses: 6
    Dernier message: 13/07/2017, 12h39
  5. [XL-2007] Copier coller une ligne excel sur autre feuille avec conditions
    Par amstelveen dans le forum Excel
    Réponses: 5
    Dernier message: 11/05/2009, 18h54

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