Copie ligne dans feuille en fonction du nom de la feuille

7339simon

XLDnaute Nouveau
Bonjour à tous,

Je débute sur VBA et comme pour tout le monde j'imagine cela vire au cauchemar pour moi.

Je visualise ce que je veux faire mais mes connaissances me freinent totalement.

Je veux apprendre voilà pourquoi je vous demanderai si possible de m'aiguiller pour le faire seul et non pas vous solliciter pour créer ma macro.


Alors pour vous expliquer rapidement :

Dans la feuille de route, il faudrait copier les lignes dans les feuilles correspondantes.
Pour être plus clair, quand dans la cellule B13 est indiqué "SDV AEROSPACE" il faut copier ("A13, K13") dans la feuille SDV en A13.

Et ainsi de suite jusqu'a arriver à la ligne 26 dans cette exemple.

Cependant ma plus grande difficulté est qu'il faudrait copier chaque feuille dans un classeur à part pour obtenir un seul document. En effet dans mon document joint je n'ai mis que les transporteur qui été présent mais dans mon autre document il y'a plus de 20 transitaires et j'ai besoin d'extraire sur un autre classeur seul les transitaire renseigné, j'espère que vous me suivez... ;)

Avec l'enregistreur de macro j'obtiens ce code :

Sub Macro2()
'
' Macro2 Macro
'

'
Range("A13:K13").Select
Selection.Copy
Sheets("SDV").Select
Range("A13").Select
ActiveSheet.Paste
Sheets("SDV").Select
Application.CutCopyMode = False
Sheets("SDV").Copy
End Sub

J'imagine que premièrement il faut que je définisse une condition. Si dans feuille de route Cell B13 contient SDV, copier ("A13, K13") dans feuille dont le titre est SDV ?

Ensuite il faudrait que cette condition s'applique ligne après ligne, et enfin une boucle.

Désolé c'est un peu long j'espère que certains d'entre vous prendront le temps pour me donner un coup de main.

Je reste à votre disposition pour toutes les questions.

Encore merci.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Copie ligne dans feuille en fonction du nom de la feuille

Bonjour à tous


7339simon
Re

Allez un dernier effort!!:rolleyes:
Il faut bien sur joindre des fichiers ANONYMISES
(la charte le conseille pourtant! encore faut-il prendre le temps de la lire...)
5 – La possibilité de joindre des fichiers est donnée sur ce forum. Ne pas hésiter à utiliser cette fonction, tout en veillant que les données soient bidons et donc qu’aucune donnée confidentielle, nominative ne soit dans le fichier.


PS
: Pour changer ta PJ, cliques sur Modifier le message puis sur Gérer les pièces jointes

Sinon tu es sur que tu lis mes messages en entier ?

T'attends quoi pour suivre ce vieux conseil... qui date de 2 jours? ;)
 

7339simon

XLDnaute Nouveau
Re : Copie ligne dans feuille en fonction du nom de la feuille

Je n'aime guère les vieux conseils ;)

Plus sérieusement j'ai bien joints un fichier anonyme intitulé "copie ligne dans feuille", que dois-je faire d'autres?

Merci pour ton aide en tout cas.
 

Staple1600

XLDnaute Barbatruc
Re : Copie ligne dans feuille en fonction du nom de la feuille

Re

7339simon
J'ai téléchargé ton fichier et il n'est pas anonymisé!
(Sinon pourquoi aurai-je écris mon précédent message...:rolleyes:)
Exemple (j'ai ajouté moi-même les *)
R****Y H****G
C/O C**A
Zone de fret 4 - Bâtiment 3**0
**, rue des V*****s
9**00 Roissy CDG
9**2*0 TR**B**Y E* Fr**ce
01 4x 6x 5x 2x

Par contre j'ai pris le temps moi de faire des tests sur un fichier anonymisé et cela fonctionne...
resultatMAC.jpg
Mais je suis pas sûr d'avoir envie de continuer ... vu le dédain avec lequel tu as traité mon dernier message ;)
 
Dernière édition:

7339simon

XLDnaute Nouveau
Re : Copie ligne dans feuille en fonction du nom de la feuille

Ah oue excuse je suis à la masse, je pensais pas à ça quand tu disais "anonyme", t'as raison désolé je le fais de suite. Je suis pas trop habitué au forum comme tu peux l'imaginer...

Oh non encore un tout petit peu d'aide ;)
 

Staple1600

XLDnaute Barbatruc
Re : Copie ligne dans feuille en fonction du nom de la feuille

Re

7339simon
Ah enfin , on y arrive à l'anonymat ;)
Voici le code de la macro utilisée (avec fichier vu sur la copie écran de mon précédent message)
Code:
Sub a()
Dim ws As Worksheet, dl&, j&
With Sheets("feuille de route")
dl = .Cells(Rows.Count, 1).End(3).Row
For Each ws In Worksheets
    If Not ws.Name Like "feuille de route" Then
        For j = 13 To dl
        If .Cells(j, "B") Like ws.Name Then
        .Cells(j, "A").Resize(, 11).Copy ws.Cells(Rows.Count, 1).End(3)(2)
        End If
        Next j
    End If
Next ws
End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 113
Messages
2 085 422
Membres
102 886
dernier inscrit
eurlece