Copier colonnes, apporter quelques modifications et les coller dans un autre classeur

lele79

XLDnaute Nouveau
Bonjour ou bonsoir a tous,

je suis nouveau dans le forum et je me permets de solliciter votre aide, merci d'avance.

Je ne suis pas famillier avec les langages de programmation, encore moins avec VB mais la je suis dans l'obligation de comprendre VB et de l'utiliser dans le cadre de mon travail.
Tous ce que je sais faire de VB c'est de faire des macros avec l'enregistreur macros.

Dans mon projet, je dois copier des elements contenus dans une colonne, apporter quelques changements et le coller dans une feuille d'un autre classeur.
voici-ci joints un exemple de ce que je veux faire:
- Je copier tous ce qui est dans la colonne A de la feuille 1, classeur 1, et je rajoute un "_x" (x represente en faite un mot qui sera la meme pour tous) et ensuite je les colles dans la feuille 1 du classeur 2. Et lors que je colle sur ce dernier il faut que les lignes se suivent l'un derriere l'autre.

voila, je ne sais si tous est clair mais n'hesiter a me solliciter pour plus d'info.

merci.

Lele79
 

Pièces jointes

  • Book1.xls
    15 KB · Affichages: 78
  • Book1.xls
    15 KB · Affichages: 91
  • Book1.xls
    15 KB · Affichages: 83

Staple1600

XLDnaute Barbatruc
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

Bonjour et bienvenue sur XLD


Tous ce que je sais faire de VB c'est de faire des macros avec l'enregistreur macros.
Cela c'est le point de départ vers l'Aventure avec un grand V.

Donc ca commence bien.

Question: entre chaque NOM , il y aura toujours 2 lignes ou cela sera variable ?
 
Dernière édition:

lele79

XLDnaute Nouveau
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

bonjour .

Non, cela varie. il y aura des cas ou les lignes seront remplies l'une apres l'autres, d'autres comme ce qui sont presentees sur l'exemple.

Cordialement,

lele79
 

Softmama

XLDnaute Accro
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

Dans le cas où il y aurait beaucoup de données dans la colonne A ou beaucoup de cellules vides, le plus efficace serait de s'inspirer de ceci, je pense :
Code:
Sub copieColonneAVersClasseur2()
Dim cel As Range, d As Range
Set d = Workbooks(2).Sheets(1).[A1]
'Pour chaque cellule de la zone utile où y a pas de cellule vide :
  For Each cel In Workbooks(1).Sheets(1).Range([A1], [A65535].End(xlUp)).SpecialCells(xlCellTypeConstants, 23) '23 : englobe tous les types de données.
            d = cel & "_x"
            Set d = d.Offset(1, 0)
  Next
End Sub
 
Dernière édition:

lele79

XLDnaute Nouveau
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

Bonjour Softmama,

Merci pour votre reponse. Le premier code que vous m'aviez envoyer marche mais la deuxieme un peu moins car je n'arrive pas a l'adapter au cas reel.

En fait, en realite sur le workbook 1, "Nom" est dans la colonne E (les colonnes avant sont cachees), ensuite "Unite" et "Propriete" sont respectivement dans la colonne J et N, ceux qui sont aux milieux sont cachees.

Pour les autres copiers et modif j'adapte votre code, je pense qu'avec ca je pourrais m'en sortir mais qu'en est-il de la concatainasion pour avoir A&":"&i.

Merci d'avance pour votre aide.

Lele79
 

Softmama

XLDnaute Accro
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

Bonjour,

Je crains de ne pas avoir compris quel problème tu rencontres ?

Si tu dois mettre dans le classeur 2, la concaténation des colonnes E, J et N du classeur 1 alors, essaie ceci :
Code:
Sub copieColonneAVersClasseur2()
Dim cel As Range, d As Range
Set d = Workbooks(2).Sheets(1).[A1]
'Pour chaque cellule de la zone utile où y a pas de cellule vide :
  For Each cel In Workbooks(1).Sheets(1).Range([E1], [E65535].End(xlUp)).SpecialCells(xlCellTypeConstants, 23) 
            d = cel & cel.offset(0,5) & cel.offset(0,9)
            Set d = d.Offset(1, 0)
  Next
End Sub

Si cela ne répond pas à ta question, essaie de la préciser.
 

lele79

XLDnaute Nouveau
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

Bonjour Softmama et a tous,

tu es en plein dedans, ca ca que j'esperais, je vais l'adapter a mon projet et je reviens pour vous informer.

Merci bcp a tois ainsi qu'a ce forum!.

Lele79.
 

lele79

XLDnaute Nouveau
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

bonjour Softmama et tous,

j'ai adapte le code que Sofmama m'a donne sur ma feuile et cela marche nickel maintenant je remarque que lorsque toutes les lignes des colones ne sont pas remplis il y a un decalage des donnees. Ce qu fausse mes donnees sur l'autres feuille.
Je pense qu'avec l'illustration sur le fichier joints cela sera plus clair.

Cordialement,

Lele79
 

Pièces jointes

  • Book1.xls
    23 KB · Affichages: 79
  • Book1.xls
    23 KB · Affichages: 81
  • Book1.xls
    23 KB · Affichages: 89

lele79

XLDnaute Nouveau
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

Bonjour a tous,
le code que Softmama m'avait donne, cela donne ceci sur les ficihier joints.

Merci pour votre aide!

Lele79
 

Pièces jointes

  • Book4.xls
    17.5 KB · Affichages: 65
  • Book1.xls
    26 KB · Affichages: 72
  • Book4.xls
    17.5 KB · Affichages: 69
  • Book1.xls
    26 KB · Affichages: 76
  • Book4.xls
    17.5 KB · Affichages: 80
  • Book1.xls
    26 KB · Affichages: 71

lele79

XLDnaute Nouveau
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

bonjour a tous,

je suis arriver a faire ce que je voulais concernant les requetes sur les posts precedents. Maintenant je voudrai que lorsque mon userform apparait, je fais un choix parmis les liste deroulante et ce qui se trouvera dans le combobox1 se retrouvera sur toutes la colonne H ( sachant qu'il faut le mettre seulement si G et A (lignes) ne sont pas vides).

p.s: pourquoi dans sur mon userform lorsque je click sur la fleche de la liste deroulante je ne vois pas les elements listes?

Vous pourrez voir le code sur les deux feuilles ci-jointes.

En vous remerciant par avance.
 

Pièces jointes

  • Book1.xls
    30.5 KB · Affichages: 72
  • Book4.xls
    17 KB · Affichages: 59
  • Book1.xls
    30.5 KB · Affichages: 70
  • Book4.xls
    17 KB · Affichages: 61
  • Book1.xls
    30.5 KB · Affichages: 65
  • Book4.xls
    17 KB · Affichages: 56

lele79

XLDnaute Nouveau
Re : Copier colonnes, apporter quelques modifications et les coller dans un autre cla

bonjour a tous,

sur les feuilles 2 des deux classeurs, j'ai exactement les memes entetes et ainsi que la manipe mais a quelques chose pres.

En prenant exemple des deux feuilles precedemment jointes,
En fait au lieu d'avoir seulement Tag= A:I;
Je voudrai avoir le resultat suivant:
- Tag=A:g (ligne A2)
- Tag= A:h (ligne A3)
- Tag= A:i (ligne A4)

j'ai essaye ce code mais j'ai une erreur: "Run-Time error:13,Type Mismatch" apres la ligne "for each....."

Quelqu'un pourrais jeter un coup d'oeil sur le code ou me dire si je suis dans la mauvaise voie.

Cordialement.

lele 79

Sub transfer()

Dim a As Range, c As Range

Set d = Workbooks("Book1").Sheets(1).Range([E2], [E65535].End(xlUp)).SpecialCells(xlCellTypeConstants, 23)
Set c = Workbooks("Book2").Sheets(1).[A2]


For Each a In d
c = d.Offset(0, -4) & "_" & d
'Set c = c.Offset(0, 0)
Next

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 467
Messages
2 088 665
Membres
103 911
dernier inscrit
Titouano