[Excel VBA] Macro Spéciale pour concaténation
Fermé
Anne
-
8 août 2007 à 15:28
Perio Messages postés 2 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 30 avril 2008 - 30 avril 2008 à 08:39
Perio Messages postés 2 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 30 avril 2008 - 30 avril 2008 à 08:39
A voir également:
- [Excel VBA] Macro Spéciale pour concaténation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
5 réponses
Papou93
Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
59
8 août 2007 à 17:45
8 août 2007 à 17:45
Voici la macro modifiée pour effacer les cellules d'origine:
Cordialement.
Sub NomProteine() With Sheets(1) For n = 1 To .Range("a65536").End(xlUp).Row If Left$(Cells(n, 1), 1) = ">" Then lg = n If Not Left$(Cells(n, 1), 1) = ">" And lg > 0 Then Cells(lg, 2) = Cells(lg, 2) & Cells(n, 1) Cells(n, 1) = "" End If Next End With End Sub
Cordialement.
champvi
Messages postés
8
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 août 2007
2
8 août 2007 à 16:01
8 août 2007 à 16:01
tu marques dans une case '=C1 & D1' par exemple. Ca fait ca betement mais ca concatene 2 cases.
pour plus complexe faut toucher à VBA... donc tente avec ca d'abord
pour plus complexe faut toucher à VBA... donc tente avec ca d'abord
Merci Champvi mais il faut justement que je passe en VBA parce que j'ai environ 1000 entrées !!!
J'arrive bien à concaténer avec la fonction concatène d'excel mais je peux pas y passer la nuit...une petite macro serait pas mal ! Peut être avec la fonction join mais j'ai pas réussi à l'utiliser.
Please help !!!
J'arrive bien à concaténer avec la fonction concatène d'excel mais je peux pas y passer la nuit...une petite macro serait pas mal ! Peut être avec la fonction join mais j'ai pas réussi à l'utiliser.
Please help !!!
Papou93
Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
59
8 août 2007 à 16:43
8 août 2007 à 16:43
Bonjour Anne et Champvi,
Voici une macro à insérer dans un module de code :
Cette macro concatène la séquence des protéines dans la cellule immédiatement à droite du nom.
Elle fonctionne quelle que soit la ligne de départ de la liste.
Il est facile d'adapter la position des colonnes en fonction des besoins.
Espérant avoir été utile.
Cordialement
Voici une macro à insérer dans un module de code :
Sub NomProteine() With Sheets(1) For n = 1 To .Range("a65536").End(xlUp).Row If Left$(Cells(n, 1), 1) = ">" Then lg = n If Not Left$(Cells(n, 1), 1) = ">" And lg > 0 Then Cells(lg, 2) = Cells(lg, 2) & Cells(n, 1) Next End With End Sub
Cette macro concatène la séquence des protéines dans la cellule immédiatement à droite du nom.
Elle fonctionne quelle que soit la ligne de départ de la liste.
Il est facile d'adapter la position des colonnes en fonction des besoins.
Espérant avoir été utile.
Cordialement
Perio
Messages postés
2
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
30 avril 2008
29 avril 2008 à 17:28
29 avril 2008 à 17:28
Bonjour à tous,
Je ne parviens pas à utiliser cette macro... Où, dans le code que nous a gentiment indiqué Papou93, faut-il changer quelque chose pour qu'il soit utilisable par tous ? C'est la valeur "a65536" ?
Mon besoin concerne la concaténation de colonnes dans un ficher SIREN de l'INSEE contenant 11 000 enregistrements : je souhaite avoir dans une colonne créée pour cela (A1 par ex), des adresses d'entreprises (A0) complètes formées d'éléments situés dans des colonnes individualisées (A2, A3, A4, etc).
Merci à vous pour toute tentative d'explication !
Pierre.
Je ne parviens pas à utiliser cette macro... Où, dans le code que nous a gentiment indiqué Papou93, faut-il changer quelque chose pour qu'il soit utilisable par tous ? C'est la valeur "a65536" ?
Mon besoin concerne la concaténation de colonnes dans un ficher SIREN de l'INSEE contenant 11 000 enregistrements : je souhaite avoir dans une colonne créée pour cela (A1 par ex), des adresses d'entreprises (A0) complètes formées d'éléments situés dans des colonnes individualisées (A2, A3, A4, etc).
Merci à vous pour toute tentative d'explication !
Pierre.
champvi
Messages postés
8
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 août 2007
2
8 août 2007 à 16:45
8 août 2007 à 16:45
tu peux tenter un truc du style
ActiveSheet.Range("E1").Select 'se place en E1
do while activecell.value = "" 'boucle tant que la cellule est pas vide
activecell.value = activecell.offset(0,-2) & activecell.offset (0,-1) 'concatene les 2 cases de gauche
activecell.offset (1,0).select 'se depalce d'une case vers le bas
loop
ActiveSheet.Range("E1").Select 'se place en E1
do while activecell.value = "" 'boucle tant que la cellule est pas vide
activecell.value = activecell.offset(0,-2) & activecell.offset (0,-1) 'concatene les 2 cases de gauche
activecell.offset (1,0).select 'se depalce d'une case vers le bas
loop
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sir_DEC
Messages postés
143
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 mai 2012
75
8 août 2007 à 17:42
8 août 2007 à 17:42
Ou sans utiliser VB, disons qu'on a le tableau suivant :
A1 : nomprotéine1
A2...Ax : les trucs gens "ABC", "DE" et compagnie
Ax+1 : nomprotéine2
En Bx-1 : =Ax & Bx
Ensuite il suffit de développer en remontant jusqu'à la ligne du nom. (En B1 : =A2 & B2)
Bien sûr c'est faisable en VB, mais cette solution l'écarte :)
A1 : nomprotéine1
A2...Ax : les trucs gens "ABC", "DE" et compagnie
Ax+1 : nomprotéine2
En Bx-1 : =Ax & Bx
Ensuite il suffit de développer en remontant jusqu'à la ligne du nom. (En B1 : =A2 & B2)
Bien sûr c'est faisable en VB, mais cette solution l'écarte :)
9 août 2007 à 09:11
Tu me rends un immense service, comme quoi il faut toujours demander aux gens qui savent...
Merci encore
Anne
30 avril 2008 à 08:39
Je n'arrive pas à utiliser ce code pour mes propres besoins...
Mon besoin concerne la concaténation de colonnes dans un ficher SIREN de l'INSEE contenant 11 000 enregistrements : je souhaite avoir dans une colonne créée pour cela (A1 par ex), des adresses d'entreprises (A0) complètes formées d'éléments situés dans des colonnes individualisées (A2, A3, A4, etc).
Merci à vous pour toute tentative d'explication !
Pierre.