Copier deux cellules dans une cellule EXCEL en vba

Résolu
cs_metek Messages postés 21 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 23 mai 2006 - 2 août 2005 à 16:34
cs_metek Messages postés 21 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 23 mai 2006 - 2 août 2005 à 23:44
Bonjour!
J'ai quelques soucis en VBA avec une macro!
Je dispose d'un fichier excel que je dois retraité afin d'obtenir un tableau classé!
Je souhaite en fait automatiser le traitement pour plusieurs fichiers!
Dans le premier fichier (celui a traiter) tout est sur une seule colonne.
Or lorsque je récupère ici l'adresse elle se trouve suivant les cas soit sur
deux cellules soit sur une seule voir trois.
J'aimerais donc detecter suivant les cas et recopier tout cela dans mon tableau
mais dans une seule cellule!
Je peux detecter la fin de l'adresse car la cellule au dessous commence par POSTCODE!
Merci pour l'aide,j'espere avoir été clair!

5 réponses

cs_metek Messages postés 21 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 23 mai 2006
2 août 2005 à 23:44
et bien me revoila j'ai quelques problemes avec ta fonction:

Je l'ai donc adapté je te met le code :

Public Sub Search_for_organisation(i, J, k, l, m, n, p, s, t, Ic)

Dim cel As Range

Dim strTemp As String

Dim iLigne As Integer

Sheets("cordis-mo").Select

Range("B1").Select

Set cel = ActiveCell

Nblignes = Range("Nblignes").Value



Sheets("Tableau").Select

Range("A1").Select

Set celtab = ActiveCell



Sheets("Coordinator_list").Select

Range("A1").Select

Set celCoord = ActiveCell



Sheets("cordis-mo").Select

iligne = iligne + 4

cel(iligne).Select



strTemp = ""



Do While cel(iligne).Value <> "POSTCODE"

strTemp = strTemp & cel(iligne).Value

iligne = iligne + 1

Loop



Sheets("Tableau").Select

Range(J, 9).Value = strTemp



J'obtiens alors une erreur me disans que l'objet sur la ligne

Do While cel(iligne).Value <> "POSTCODE"

n'existe pas et je n'arrive pas a comprendre pourquoi.



Merci d'avance!
3
jhary69 Messages postés 81 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
2 août 2005 à 16:54
salut,

les cas ou l'adresse est sur plusieurs cellules c'est qu'elle est sur plusieurs lignes ??? (puisque tu n'as qu'une seule colonne).


Si c'est le cas, la ligne de debut de ton adresse est - elle toujours la meme ???


Si oui, lorsque tu arrives sur cette ligne pour la traiter tu fait une boucle do while pour concatener tes lignes ensemble tant que tu n'as pas POSTCODE dans ta cellule ...


A+

Christophe.
0
cs_metek Messages postés 21 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 23 mai 2006
2 août 2005 à 17:04
La ligne de debut est toujours la meme donc facile a trouver mais comment fait on pour
concatener j'ai beau chercher et me creuser l'esprit je ne trouve pas.
J'ai le meme resonnement que toi
0
jhary69 Messages postés 81 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
2 août 2005 à 17:13
pour concatener :


dim strTemp as string
dim iLigne as integer


strTemp = ""


iLigne = ta ligne de debut d'adresse


' Si ta colonne c'est pas A tu adaptes ...
do while activesheet.range("A" & iLigne).value <> "POSTCODE"
strTemp = strTemp & activesheet.range("A" & iLigne).value
iLigne = iLigne + 1
loop

des que tu atteinds POSTCODE ca quitte la boucle apres tu met le contenu de strTemp dans la cellule que tu veux !

A+

Christophe.

PS : a tester en debug la 1ere fois (suffit d'oublier le iLigne = iLigne + 1 pour boucler à l'infini )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_metek Messages postés 21 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 23 mai 2006
2 août 2005 à 18:12
Merci ca m'avance vraiment enormement (800 fichiers a traiter avant vendredi!)

Allez pour le plaisir je vais oublier iLigne = iLigne + 1 .

Merci enormement!
0
Rejoignez-nous