Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1322 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Récupérer des infos dans des cellules

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer des infos dans des cellules

n°968764
pinhead
Posté le 01-02-2005 à 20:56:02  profilanswer
 

Bonjour,  
 
En fait mon problème est le suivant:
J'ai dans des cellules Excel des informations séparées par des sauts de ligne. Or il faudrait que je récupère ces informations séparemment.
 
Ainsi par exemple, dans une cellule, j'ai:
FR_STOR_0050  
FR_STOR_0051
FR_STOR_0052
FR_STOR_0054  
ce qui apparemment est vu comme cela sous VB:
"FR_STOR_0050 " & Chr(10) & "FR_STOR_0051" & Chr(10) & "FR_STOR_0052"  & Chr(10) & "FR_STOR_0054 "
 
Moi je veux récupérer séparemment FR_STOR_0050, FR_STOR_0051, etc.. pour les placer dans une autre feuille, chacun dans des cellules différentes.
 
Et là, je rame un peu parce que j'ai pas touché VB depuis longtemps.
 
Des idées?  :o  
 
Merci bien en tout cas.  :o  
 
Pinhead

mood
Publicité
Posté le 01-02-2005 à 20:56:02  profilanswer
 

n°968940
LADIV
Posté le 02-02-2005 à 09:20:46  profilanswer
 

si l'on reprend ton exemple: on a des informations qui font tjrs 12 caractères et avec 4 info par cellules.
donc en travaillant avec les formules text d'excel tu peux extraire (par exemple=DROITE(GAUCHE(IS7;7);2)) sur 4 colonnes tes informations. Cette démarche sera la même en VBA ainsi que sa rédaction

n°969146
MrGant
Posté le 02-02-2005 à 11:52:27  profilanswer
 

Tu peut aussi prendre toute cette chaine de charactere et rechercher le char(10) (comme délimitateur)
une idée d'algo serais de mémoriser la position du char(10) précédement trouvé et des que tu en rencontre un nouveau tu extrait la chaine concerné.
Voila une ébauche:
 

Citation :

Sub toto()
chaine1 = Cells(1, 1)
ichar10 = 0
j = 1
For i = 1 To Len(chaine1)
If Mid(chaine1, i, 1) = char(10) Then
    Cells(j, 2) = Mid(chaine1, ichar10 + 1, i - 1 - ichar10)
    j = j + 1
    ichar10 = i
End If
Next
Cells(j, 2) = Mid(chaine1, ichar10 + 1, i - 1 - ichar10)
End Sub


PS: modifie le cells(j,2) à ta convenance, dans ton cas l'adresse de la nouvelle feuille. :hello:
 
PS2: on peut faire plus simple et plus propre avec un Do while je pense, mais ça, ça marche. :D


Message édité par MrGant le 02-02-2005 à 12:05:51
n°1001792
pinhead
Posté le 05-03-2005 à 15:46:06  profilanswer
 

bah merci pour les réponses  :D  
 
(bon je réponds un peu tard mais j'ai pas pu avant  :o )


---------------
Je ne suis pas sûr de pouvoir manger autant que tu me donnes envie de vomir.
n°1001862
galopin01
Posté le 05-03-2005 à 18:02:52  profilanswer
 

bonjour,  
le plus simple c'est peut-être de passer par :
Données / Convertir + Largeur fixe
Pas fatigant, pas besoin de VBA, juste besoin de colonnes vides à droite...
A+


Message édité par galopin01 le 05-03-2005 à 18:04:34

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Récupérer des infos dans des cellules

 

Sujets relatifs
[SQL] Récuperer une chaine sans les deux premieres lettres ?aide sur un script FTP pour recuperer des fichiers et les renommer
Cellules au format DATE de Excel et PHPrecuperer automatiquement le numero du thread
[DOS] Récupérer valeur d'une clé de registre[4D][.NET] recuperer les données via ASP.NET
PHP-récuperer paramètre issu URLLire dans un fichier et y récupérer des données....
[C/Linux] récupérer signaux capteurs carte mère 
Plus de sujets relatifs à : Récupérer des infos dans des cellules


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR