Caspie Membre
Nombre de messages : 1 Date d'inscription : 08/11/2006
| Sujet: Import en bloc d'une liste d'adresses Mer 8 Nov à 13:12 | |
| Bonjour à tous j'ai un gros problème qui m'a poussé a m'inscrire sur ce forum j'ai reçu une longue liste d'adresses que je dois mettre en forme dans le tableur mais ça vas etre trés long a la main pour moi et je suis préssée par le temps (mon chef attends ça aujourd'hui !! et je n'en ai pas fait la moitié)
le fichier a cette forme (et il est tres long) Nom Prénom Adresse,Ville,Code Numéro de téléphone et puis ça se repète
c'est sur trois lignes, et je dois tout mettre dans un tableauen mettant tout sur une seule ligne donc
exemple :
André lamoureux 109,Rue de la charité,75017,Paris,France 01 77 88 99 33 Magali Chantel 18,Av Garibaldi,59000,Lille,France 00 00 00 00 00 ... Il faudrais que je mette tout sur une ligne et que je change de ligne aprés le numéro de téléphone, mais je ne sais pas faire ça automatiquemment Merci pour votre aide !!!!!! | |
|
dachevid Membre
Nombre de messages : 275 Date d'inscription : 05/09/2005
| Sujet: Re: Import en bloc d'une liste d'adresses Jeu 9 Nov à 14:15 | |
| Bonjour,
Pas simple !
Ici : http://rapidshare.com/files/2615373/Liste.xls.html (cliquer sur le bouton Free en bas à droite, recopier les trois lettres de contrôle puis cliquer sur le bouton Download from...) un fichier avec des formules du style : =INDIRECT(ADRESSE(LIGNE()*3-2;COLONNE();;;"Feuil1")) pour récupérer les valeurs et les mettre sur une ligne.
Il suffit de recopier ces formules autant de fois qu'il y a de nom et tout apparaîtra sur une ligne. Pour faire cette formule je suis parti du principe que "Nom Prénom" et "Adresse,Ville,Code" étaient dans des colonnes différentes. S'ils sont dans la même colonne la formule ne marche pas, il faudra la modifier à l'aide des fonctions TROUVE, GAUCHE, DROITE et NBCAR pour trouver l'espace entre le nom et le prénom ou la "," entre l'adresse, la ville et le code postal.
A+ | |
|
Jacky67 Membre
Nombre de messages : 222 Date d'inscription : 17/09/2005
| Sujet: Re: Import en bloc d'une liste d'adresses Sam 11 Nov à 4:05 | |
| Avec une petite macro, c'est plus simple et sans doute plus souple, je pense. Tout d'abord le code de la macro que je te propose : - Code:
-
Sub ParLigne()
Dim NumeroFeuilleLecture, NumeroFeuilleEcriture As Integer Dim LigneDepartLecture, LigneDepartEcriture As Long Dim ColonneDepartLecture, ColonneDepartEcriture As Integer Dim LigneLue, LigneEcrite As Long
NumeroFeuilleLecture = 1 LigneDepartLecture = 3 ColonneDepartLecture = 2
NumeroFeuilleEcriture = 2 LigneDepartEcriture = 3 ColonneDepartEcriture = 2
LigneLue = LigneDepartLecture LigneEcrite = LigneDepartEcriture
While Sheets(NumeroFeuilleLecture).Cells(LigneLue, ColonneDepartLecture).Value <> "" Sheets(NumeroFeuilleEcriture).Cells(LigneEcrite, ColonneDepartEcriture).Value = Sheets(NumeroFeuilleLecture).Cells(LigneLue, ColonneDepartLecture).Value LigneLue = LigneLue + 1 Sheets(NumeroFeuilleEcriture).Cells(LigneEcrite, ColonneDepartEcriture + 1).Value = Sheets(NumeroFeuilleLecture).Cells(LigneLue, ColonneDepartLecture).Value LigneLue = LigneLue + 1 Sheets(NumeroFeuilleEcriture).Cells(LigneEcrite, ColonneDepartEcriture + 2).Value = Sheets(NumeroFeuilleLecture).Cells(LigneLue, ColonneDepartLecture).Value LigneLue = LigneLue + 1 LigneEcrite = LigneEcrite + 1 Wend
Sheets(NumeroFeuilleEcriture).Columns(ColonneDepartEcriture).EntireColumn.AutoFit Sheets(NumeroFeuilleEcriture).Columns(ColonneDepartEcriture + 1).EntireColumn.AutoFit Sheets(NumeroFeuilleEcriture).Columns(ColonneDepartEcriture + 2).EntireColumn.AutoFit
End Sub - Le premier paragraphe sert à définir les variables utilisées dans cette macro.
- Le deuxième paragraphe permet de définir la position (numéros de la feuille, de la ligne et de la colonne) de la première cellule du tableau à lire.
- Le troisième paragraphe permet de définir la position (numéros de la feuille, de la ligne et de la colonne) de la première cellule du tableau à écrire.
- Le quatrième paragraphe sert à initialiser les premières lignes à lire et à écrire.
- Le cinquième paragraphe sert à lire le tableau d'origine et à créer un nouveau tableau avec les mêmes valeurs que le tableau d'origine mais disposées en lignes.
- Le sixième et dernier paragraphe est un petit plus que j'ai ajouté et qui sert à donner la bonne largeur à chacune des trois colonnes du tableau créé.
En modifiant les valeurs des paragraphes deux et trois, tu peux adapter cette macro à ton cas précis. Il ne te reste plus qu'à associer cette macro à un bouton et le tour est joué. Et le fichier exemple : http://rapidshare.com/files/2850551/ParLigne.xls.html | |
|
Contenu sponsorisé
| Sujet: Re: Import en bloc d'une liste d'adresses | |
| |
|