Copier deux cellules dans une cellule EXCEL en vba [Résolu]

Signaler
Messages postés
21
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
23 mai 2006
-
Messages postés
21
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
23 mai 2006
-
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

Messages postés
21
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
23 mai 2006

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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
81
Date d'inscription
jeudi 29 juillet 2004
Statut
Membre
Dernière intervention
22 juillet 2007

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.
Messages postés
21
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
23 mai 2006

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
Messages postés
81
Date d'inscription
jeudi 29 juillet 2004
Statut
Membre
Dernière intervention
22 juillet 2007

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 )
Messages postés
21
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
23 mai 2006

Merci ca m'avance vraiment enormement (800 fichiers a traiter avant vendredi!)

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

Merci enormement!