Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extraire des données

9 réponses
Avatar
lauxeti
Bonsoir,

Je re=E7ois un fichier ayant 1 seule colonne de la forme suivante
(fichier txt) :
La colonne A contient par ex:
Site A
Lien1
1/2/8 actor No No Yes Yes No
1/2/8 partner No No Yes Yes No
2/2/8 actor No No Yes Yes Yes
2/2/8 partner No No Yes Yes Yes
Lien 1+y
...
Site x
Lien1
1/2/8 actor No No Yes Yes Yes
1/2/8 partner No No Yes Yes Yes
2/2/8 actor No No Yes Yes No
2/2/8 partner No No Yes Yes No
Lien 1+y
...
Comment avoir par macro sur 9 colonnes
Site A Lien1 1/2/8 actor No No Yes Yes No
Site A Lien1 1/2/8 partner No No Yes Yes No
Site A Lien1 2/2/8 actor No No Yes Yes Yes
Site A Lien1 2/2/8 partner No No Yes Yes Yes
Site A Lien y+1
...
Site B Lien1 1/2/8 actor No No Yes Yes Yes
Site B Lien1 1/2/8 partner No No Yes Yes Yes
Site B Lien1 2/2/8 actor No No Yes Yes No
Site B Lien1 2/2/8 partner No No Yes Yes No
Site B Lien y+1

Nb: Site de A =E0 x, Lien de 1 =E0 y

Merci de vos reponses
Cordialement
Le Lauxeti

9 réponses

Avatar
michdenis
Excel sait ouvrir des fichiers texte.

Fichier / ouvrir / tu sélectionnes ton fichier
Un assistant importation de texte va s'ouvrir
Fenêtre 1 -> tu sélectionnes "Délimité"
fenêtre 2 -> tu sélectionnes "Tabulation" ou Espace
cela représente le séparateur utilisé dans ton fichier
entre chacun des éléments texte.

et tu peux cliquer directement sur terminer.




"lauxeti" a écrit dans le message de groupe de discussion :

Bonsoir,

Je reçois un fichier ayant 1 seule colonne de la forme suivante
(fichier txt) :
La colonne A contient par ex:
Site A
Lien1
1/2/8 actor No No Yes Yes No
1/2/8 partner No No Yes Yes No
2/2/8 actor No No Yes Yes Yes
2/2/8 partner No No Yes Yes Yes
Lien 1+y
...
Site x
Lien1
1/2/8 actor No No Yes Yes Yes
1/2/8 partner No No Yes Yes Yes
2/2/8 actor No No Yes Yes No
2/2/8 partner No No Yes Yes No
Lien 1+y
...
Comment avoir par macro sur 9 colonnes
Site A Lien1 1/2/8 actor No No Yes Yes No
Site A Lien1 1/2/8 partner No No Yes Yes No
Site A Lien1 2/2/8 actor No No Yes Yes Yes
Site A Lien1 2/2/8 partner No No Yes Yes Yes
Site A Lien y+1
...
Site B Lien1 1/2/8 actor No No Yes Yes Yes
Site B Lien1 1/2/8 partner No No Yes Yes Yes
Site B Lien1 2/2/8 actor No No Yes Yes No
Site B Lien1 2/2/8 partner No No Yes Yes No
Site B Lien y+1

Nb: Site de A à x, Lien de 1 à y

Merci de vos reponses
Cordialement
Le Lauxeti
Avatar
lauxeti
On 24 jan, 00:24, "michdenis" wrote:
Excel sait ouvrir des fichiers texte.

Fichier / ouvrir / tu sélectionnes ton fichier
Un assistant importation de texte va s'ouvrir
Fenêtre 1 -> tu sélectionnes "Délimité"
fenêtre 2 -> tu sélectionnes "Tabulation" ou Espace
cela représente le séparateur utilisé dans ton fichier
entre chacun des éléments texte.

et tu peux cliquer directement sur terminer.

"lauxeti" a écrit dans le message de groupe de dis cussion :

Bonsoir,

Je reçois un fichier ayant 1 seule colonne de la forme suivante
(fichier txt) :
La colonne A contient  par ex:
Site A
Lien1
1/2/8          actor     No    No    Yes   Yes   No
1/2/8          partner   No    No    Yes   Yes   No
2/2/8          actor     No    No    Yes   Yes   Yes
2/2/8          partner   No    No    Yes   Yes   Yes
Lien 1+y
...
Site x
Lien1
1/2/8          actor     No    No    Yes   Yes   Yes
1/2/8          partner   No    No    Yes   Yes   Yes
2/2/8          actor     No    No    Yes   Yes   No
2/2/8          partner   No    No    Yes   Yes   No
Lien 1+y
...
Comment avoir par macro sur 9 colonnes
Site A Lien1 1/2/8 actor No No Yes Yes No
Site A Lien1 1/2/8 partner No No Yes Yes No
Site A Lien1 2/2/8 actor No No Yes Yes Yes
Site A Lien1 2/2/8 partner No No Yes Yes Yes
Site A       Lien y+1
...
Site B Lien1 1/2/8 actor No No Yes Yes Yes
Site B Lien1 1/2/8 partner No No Yes Yes Yes
Site B Lien1 2/2/8 actor No No Yes Yes No
Site B Lien1 2/2/8 partner No No Yes Yes No
Site B       Lien y+1

Nb: Site de A à x, Lien de 1 à y

Merci de vos reponses
Cordialement
Le Lauxeti



Bonjour,
tout à fait d'accord sur le principe Données/convertir ... mais cela
ne repond pas à ma problematique de
redistribution sur plusieurs colonnes , je pensais à un While ...End
while mais tres franchement dans les boucles je me plante
lamentablement
Avatar
michdenis
À cette adresse, tu exemple.
Tu décompresses le fichier denis.rar et tu places
tous les fichiers dans le même répertoire...
Tu ouvres le fichier Résultat et tu t'amuses.

Tu as une procédure capable d'extraire toutes les
données de toutes les feuilles des 3 autres classeurs
contenus dans le répertoire.

Ce n'est qu'un exemple, tu l'adaptes ... et ajoute
une gestion d'erreur au besoin.

http://cjoint.com/?bAp2KSWVZ1




"lauxeti" a écrit dans le message de groupe de discussion :

On 24 jan, 00:24, "michdenis" wrote:
Excel sait ouvrir des fichiers texte.

Fichier / ouvrir / tu sélectionnes ton fichier
Un assistant importation de texte va s'ouvrir
Fenêtre 1 -> tu sélectionnes "Délimité"
fenêtre 2 -> tu sélectionnes "Tabulation" ou Espace
cela représente le séparateur utilisé dans ton fichier
entre chacun des éléments texte.

et tu peux cliquer directement sur terminer.

"lauxeti" a écrit dans le message de groupe de discussion :

Bonsoir,

Je reçois un fichier ayant 1 seule colonne de la forme suivante
(fichier txt) :
La colonne A contient par ex:
Site A
Lien1
1/2/8 actor No No Yes Yes No
1/2/8 partner No No Yes Yes No
2/2/8 actor No No Yes Yes Yes
2/2/8 partner No No Yes Yes Yes
Lien 1+y
...
Site x
Lien1
1/2/8 actor No No Yes Yes Yes
1/2/8 partner No No Yes Yes Yes
2/2/8 actor No No Yes Yes No
2/2/8 partner No No Yes Yes No
Lien 1+y
...
Comment avoir par macro sur 9 colonnes
Site A Lien1 1/2/8 actor No No Yes Yes No
Site A Lien1 1/2/8 partner No No Yes Yes No
Site A Lien1 2/2/8 actor No No Yes Yes Yes
Site A Lien1 2/2/8 partner No No Yes Yes Yes
Site A Lien y+1
...
Site B Lien1 1/2/8 actor No No Yes Yes Yes
Site B Lien1 1/2/8 partner No No Yes Yes Yes
Site B Lien1 2/2/8 actor No No Yes Yes No
Site B Lien1 2/2/8 partner No No Yes Yes No
Site B Lien y+1

Nb: Site de A à x, Lien de 1 à y

Merci de vos reponses
Cordialement
Le Lauxeti



Bonjour,
tout à fait d'accord sur le principe Données/convertir ... mais cela
ne repond pas à ma problematique de
redistribution sur plusieurs colonnes , je pensais à un While ...End
while mais tres franchement dans les boucles je me plante
lamentablement
Avatar
lauxeti
On 24 jan, 15:58, "michdenis" wrote:
À cette adresse, tu exemple.
Tu décompresses le fichier denis.rar et tu places
tous les fichiers dans le même répertoire...
Tu ouvres le fichier Résultat et tu t'amuses.

Tu as une procédure capable d'extraire toutes les
données de toutes les feuilles des 3 autres classeurs
contenus dans le répertoire.

Ce n'est qu'un exemple, tu l'adaptes ... et ajoute
une gestion d'erreur au besoin.

 http://cjoint.com/?bAp2KSWVZ1

"lauxeti" a écrit dans le message de groupe de dis cussion :

On 24 jan, 00:24, "michdenis" wrote:





> Excel sait ouvrir des fichiers texte.

> Fichier / ouvrir / tu sélectionnes ton fichier
> Un assistant importation de texte va s'ouvrir
> Fenêtre 1 -> tu sélectionnes "Délimité"
> fenêtre 2 -> tu sélectionnes "Tabulation" ou Espace
> cela représente le séparateur utilisé dans ton fichier
> entre chacun des éléments texte.

> et tu peux cliquer directement sur terminer.

> "lauxeti" a écrit dans le message de groupe de d iscussion :
>
> Bonsoir,

> Je reçois un fichier ayant 1 seule colonne de la forme suivante
> (fichier txt) :
> La colonne A contient  par ex:
> Site A
> Lien1
> 1/2/8          actor     No    No    Yes   Yes   No
> 1/2/8          partner   No    No    Yes   Yes   No
> 2/2/8          actor     No    No    Yes   Yes   Yes
> 2/2/8          partner   No    No    Yes   Yes   Yes
> Lien 1+y
> ...
> Site x
> Lien1
> 1/2/8          actor     No    No    Yes   Yes   Yes
> 1/2/8          partner   No    No    Yes   Yes   Yes
> 2/2/8          actor     No    No    Yes   Yes   No
> 2/2/8          partner   No    No    Yes   Yes   No
> Lien 1+y
> ...
> Comment avoir par macro sur 9 colonnes
> Site A Lien1 1/2/8 actor No No Yes Yes No
> Site A Lien1 1/2/8 partner No No Yes Yes No
> Site A Lien1 2/2/8 actor No No Yes Yes Yes
> Site A Lien1 2/2/8 partner No No Yes Yes Yes
> Site A       Lien y+1
> ...
> Site B Lien1 1/2/8 actor No No Yes Yes Yes
> Site B Lien1 1/2/8 partner No No Yes Yes Yes
> Site B Lien1 2/2/8 actor No No Yes Yes No
> Site B Lien1 2/2/8 partner No No Yes Yes No
> Site B       Lien y+1

> Nb: Site de A à x, Lien de 1 à y

> Merci de vos reponses
> Cordialement
> Le Lauxeti

Bonjour,
tout à fait d'accord sur le principe Données/convertir ... mais cela
ne repond pas à ma problematique de
redistribution sur plusieurs colonnes , je pensais à un While ...End
while mais tres franchement dans les boucles je me plante
lamentablement- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour à tous,
Denis ,
Je pense que je me suis peut etre mal explique , je joint un exemple
afin de comprendre ma problematique
j'espere que cela sera plus simple
http://cjoint.com/?bArnoG2MIa

Merci pour vos reponses
Le Lauxeti
Avatar
michdenis
Retour de ton fichier : http://cjoint.com/?bAuoyCFjQU



"lauxeti" a écrit dans le message de groupe de discussion :

On 24 jan, 15:58, "michdenis" wrote:
À cette adresse, tu exemple.
Tu décompresses le fichier denis.rar et tu places
tous les fichiers dans le même répertoire...
Tu ouvres le fichier Résultat et tu t'amuses.

Tu as une procédure capable d'extraire toutes les
données de toutes les feuilles des 3 autres classeurs
contenus dans le répertoire.

Ce n'est qu'un exemple, tu l'adaptes ... et ajoute
une gestion d'erreur au besoin.

http://cjoint.com/?bAp2KSWVZ1

"lauxeti" a écrit dans le message de groupe de discussion :

On 24 jan, 00:24, "michdenis" wrote:





> Excel sait ouvrir des fichiers texte.

> Fichier / ouvrir / tu sélectionnes ton fichier
> Un assistant importation de texte va s'ouvrir
> Fenêtre 1 -> tu sélectionnes "Délimité"
> fenêtre 2 -> tu sélectionnes "Tabulation" ou Espace
> cela représente le séparateur utilisé dans ton fichier
> entre chacun des éléments texte.

> et tu peux cliquer directement sur terminer.

> "lauxeti" a écrit dans le message de groupe de discussion :
>
> Bonsoir,

> Je reçois un fichier ayant 1 seule colonne de la forme suivante
> (fichier txt) :
> La colonne A contient par ex:
> Site A
> Lien1
> 1/2/8 actor No No Yes Yes No
> 1/2/8 partner No No Yes Yes No
> 2/2/8 actor No No Yes Yes Yes
> 2/2/8 partner No No Yes Yes Yes
> Lien 1+y
> ...
> Site x
> Lien1
> 1/2/8 actor No No Yes Yes Yes
> 1/2/8 partner No No Yes Yes Yes
> 2/2/8 actor No No Yes Yes No
> 2/2/8 partner No No Yes Yes No
> Lien 1+y
> ...
> Comment avoir par macro sur 9 colonnes
> Site A Lien1 1/2/8 actor No No Yes Yes No
> Site A Lien1 1/2/8 partner No No Yes Yes No
> Site A Lien1 2/2/8 actor No No Yes Yes Yes
> Site A Lien1 2/2/8 partner No No Yes Yes Yes
> Site A Lien y+1
> ...
> Site B Lien1 1/2/8 actor No No Yes Yes Yes
> Site B Lien1 1/2/8 partner No No Yes Yes Yes
> Site B Lien1 2/2/8 actor No No Yes Yes No
> Site B Lien1 2/2/8 partner No No Yes Yes No
> Site B Lien y+1

> Nb: Site de A à x, Lien de 1 à y

> Merci de vos reponses
> Cordialement
> Le Lauxeti

Bonjour,
tout à fait d'accord sur le principe Données/convertir ... mais cela
ne repond pas à ma problematique de
redistribution sur plusieurs colonnes , je pensais à un While ...End
while mais tres franchement dans les boucles je me plante
lamentablement- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour à tous,
Denis ,
Je pense que je me suis peut etre mal explique , je joint un exemple
afin de comprendre ma problematique
j'espere que cela sera plus simple
http://cjoint.com/?bArnoG2MIa

Merci pour vos reponses
Le Lauxeti
Avatar
michdenis
Dans le classeur précédent, je m'étais par rendu compte
qu'il y avait un problème avec le format des dates.

Voici la correction :
http://cjoint.com/?bAuZpVMi7R




"lauxeti" a écrit dans le message de groupe de discussion :

On 24 jan, 15:58, "michdenis" wrote:
À cette adresse, tu exemple.
Tu décompresses le fichier denis.rar et tu places
tous les fichiers dans le même répertoire...
Tu ouvres le fichier Résultat et tu t'amuses.

Tu as une procédure capable d'extraire toutes les
données de toutes les feuilles des 3 autres classeurs
contenus dans le répertoire.

Ce n'est qu'un exemple, tu l'adaptes ... et ajoute
une gestion d'erreur au besoin.

http://cjoint.com/?bAp2KSWVZ1

"lauxeti" a écrit dans le message de groupe de discussion :

On 24 jan, 00:24, "michdenis" wrote:





> Excel sait ouvrir des fichiers texte.

> Fichier / ouvrir / tu sélectionnes ton fichier
> Un assistant importation de texte va s'ouvrir
> Fenêtre 1 -> tu sélectionnes "Délimité"
> fenêtre 2 -> tu sélectionnes "Tabulation" ou Espace
> cela représente le séparateur utilisé dans ton fichier
> entre chacun des éléments texte.

> et tu peux cliquer directement sur terminer.

> "lauxeti" a écrit dans le message de groupe de discussion :
>
> Bonsoir,

> Je reçois un fichier ayant 1 seule colonne de la forme suivante
> (fichier txt) :
> La colonne A contient par ex:
> Site A
> Lien1
> 1/2/8 actor No No Yes Yes No
> 1/2/8 partner No No Yes Yes No
> 2/2/8 actor No No Yes Yes Yes
> 2/2/8 partner No No Yes Yes Yes
> Lien 1+y
> ...
> Site x
> Lien1
> 1/2/8 actor No No Yes Yes Yes
> 1/2/8 partner No No Yes Yes Yes
> 2/2/8 actor No No Yes Yes No
> 2/2/8 partner No No Yes Yes No
> Lien 1+y
> ...
> Comment avoir par macro sur 9 colonnes
> Site A Lien1 1/2/8 actor No No Yes Yes No
> Site A Lien1 1/2/8 partner No No Yes Yes No
> Site A Lien1 2/2/8 actor No No Yes Yes Yes
> Site A Lien1 2/2/8 partner No No Yes Yes Yes
> Site A Lien y+1
> ...
> Site B Lien1 1/2/8 actor No No Yes Yes Yes
> Site B Lien1 1/2/8 partner No No Yes Yes Yes
> Site B Lien1 2/2/8 actor No No Yes Yes No
> Site B Lien1 2/2/8 partner No No Yes Yes No
> Site B Lien y+1

> Nb: Site de A à x, Lien de 1 à y

> Merci de vos reponses
> Cordialement
> Le Lauxeti

Bonjour,
tout à fait d'accord sur le principe Données/convertir ... mais cela
ne repond pas à ma problematique de
redistribution sur plusieurs colonnes , je pensais à un While ...End
while mais tres franchement dans les boucles je me plante
lamentablement- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour à tous,
Denis ,
Je pense que je me suis peut etre mal explique , je joint un exemple
afin de comprendre ma problematique
j'espere que cela sera plus simple
http://cjoint.com/?bArnoG2MIa

Merci pour vos reponses
Le Lauxeti
Avatar
lauxeti
On 24 jan, 20:53, "michdenis" wrote:
Dans le classeur précédent, je m'étais par rendu compte
qu'il y avait un problème avec le format des dates.

Voici la correction :http://cjoint.com/?bAuZpVMi7R

"lauxeti" a écrit dans le message de groupe de dis cussion :

On 24 jan, 15:58, "michdenis" wrote:





> À cette adresse, tu exemple.
> Tu décompresses le fichier denis.rar et tu places
> tous les fichiers dans le même répertoire...
> Tu ouvres le fichier Résultat et tu t'amuses.

> Tu as une procédure capable d'extraire toutes les
> données de toutes les feuilles des 3 autres classeurs
> contenus dans le répertoire.

> Ce n'est qu'un exemple, tu l'adaptes ... et ajoute
> une gestion d'erreur au besoin.

>  http://cjoint.com/?bAp2KSWVZ1

> "lauxeti" a écrit dans le message de groupe de d iscussion :
>
> On 24 jan, 00:24, "michdenis" wrote:

> > Excel sait ouvrir des fichiers texte.

> > Fichier / ouvrir / tu sélectionnes ton fichier
> > Un assistant importation de texte va s'ouvrir
> > Fenêtre 1 -> tu sélectionnes "Délimité"
> > fenêtre 2 -> tu sélectionnes "Tabulation" ou Espace
> > cela représente le séparateur utilisé dans ton fichier
> > entre chacun des éléments texte.

> > et tu peux cliquer directement sur terminer.

> > "lauxeti" a écrit dans le message de groupe de discussion :
> >
> > Bonsoir,

> > Je reçois un fichier ayant 1 seule colonne de la forme suivante
> > (fichier txt) :
> > La colonne A contient  par ex:
> > Site A
> > Lien1
> > 1/2/8          actor     No    No    Yes   Ye s   No
> > 1/2/8          partner   No    No    Yes   Yes   No
> > 2/2/8          actor     No    No    Yes   Ye s   Yes
> > 2/2/8          partner   No    No    Yes   Yes   Yes
> > Lien 1+y
> > ...
> > Site x
> > Lien1
> > 1/2/8          actor     No    No    Yes   Ye s   Yes
> > 1/2/8          partner   No    No    Yes   Yes   Yes
> > 2/2/8          actor     No    No    Yes   Ye s   No
> > 2/2/8          partner   No    No    Yes   Yes   No
> > Lien 1+y
> > ...
> > Comment avoir par macro sur 9 colonnes
> > Site A Lien1 1/2/8 actor No No Yes Yes No
> > Site A Lien1 1/2/8 partner No No Yes Yes No
> > Site A Lien1 2/2/8 actor No No Yes Yes Yes
> > Site A Lien1 2/2/8 partner No No Yes Yes Yes
> > Site A       Lien y+1
> > ...
> > Site B Lien1 1/2/8 actor No No Yes Yes Yes
> > Site B Lien1 1/2/8 partner No No Yes Yes Yes
> > Site B Lien1 2/2/8 actor No No Yes Yes No
> > Site B Lien1 2/2/8 partner No No Yes Yes No
> > Site B       Lien y+1

> > Nb: Site de A à x, Lien de 1 à y

> > Merci de vos reponses
> > Cordialement
> > Le Lauxeti

> Bonjour,
> tout à fait d'accord sur le principe Données/convertir ... mais cel a
> ne repond pas à ma problematique de
> redistribution sur plusieurs colonnes , je pensais à un While ...End
> while mais tres franchement dans les boucles je me plante
> lamentablement- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -

Bonjour à tous,
Denis ,
Je pense que je me suis peut etre mal explique , je joint un exemple
afin de comprendre ma problematique
j'espere que cela sera plus simplehttp://cjoint.com/?bArnoG2MIa

Merci pour vos reponses
Le Lauxeti- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Merci Denis mais le pb est que ce n'est pas une date mais une valeur
si je peux me permettre peux tu m'expliquer un peu le
For Each C In Rg
...
Next
Merci
Avatar
michdenis
| Merci Denis mais le pb est que ce n'est pas une date mais une valeur
| si je peux me permettre peux tu m'expliquer un peu le
| For Each C In Rg
| ...
| Next

| le pb est que ce n'est pas une date mais une valeur
*** Je dénote pas cette difficulté. Il faudrait que tu donnes
plus d'information. Dans le fichier que je t'ai transmis les
cellules ont bien un format et leur contenu se comporte
comme des data "date".

Pour cette partie du code

For Each C In Rg
Fonction Split requiert excel 2000 ou plus récent
Cette fonction retourne un Tableau (array) de chaque
section de chaque ligne qui sont séparée par un espace
T = Split(C, " ")
'Nombre d'éléments contenu dans le tableau T
Nb = UBound(T)
' si nb >1 on a affaire à une ligne différente de Site A ou Lien 1
If Nb > 1 Then
Une boucle sur chacun des éléments du tableau T
For A = 0 To Nb
'Supprime les espaces entourant chacun des items
' P représente la chaîne extraite contenu dans le tableau
P = Replace(T(A), " ", "")
'Chaque ligne contient un caractère Chr(160) qui
'ressemble à un espace (barre d'espacement mais qui
'je crois -> un espace insécable
P = Replace(P, Chr(160), "")
'Comme chaque expression dans ton tableau est entourée
' de beaucoup d'espace, la fonction split tronçonne la chaîne
'dont certaines représentent seulement des " ". Après avoir
'supprimé les espaces P = ""
If P <> "" Then
'variable d'incrémentation pour le tableau Tbl
X = X + 1
'Un test particulier pour tester le champ date
If IsDate(P) Then
'chaque donnée est mise dans un tableau temporaire
'Ce tableau est redimensionner à chaque passage
ReDim Preserve Tbl(X)
'Trim -> s'assure qu'il ne reste plus " " sur l'élément T(a)
'Cdate -> fonction de conversion pour transformer une
'chaîne en date
Tbl(X) = CDate(Trim(T(A)))
Else
ReDim Preserve Tbl(X)
Tbl(X) = Trim(T(A))
End If
End If
Next
'Copie du contenu tbl vers la même ligne de ton
'tableau de données mais 7 colonnes plus à droite
C.Offset(, 7).Resize(, UBound(Tbl) + 1) = Tbl
'efface le contenu du tableau et remet x = 0 pour
'le traitement de la future ligne
Erase Tbl: X = 0
Else
'Si split retourne 1 et moins
'Test pour savoir si le contenu est site ou lien
'et copie dans la colonne appropriée
If UCase(C.Value) Like "SITE*" Then
C.Offset(, 6) = C.Value
ElseIf UCase(C.Value) Like "LIEN*" Then
C.Offset(, 7) = C.Value
End If
End If
Next
Avatar
lauxeti
On 25 jan, 12:30, "michdenis" wrote:
| Merci Denis mais le pb est que ce n'est pas une date mais une valeur
| si je peux me permettre peux tu m'expliquer un peu le
| For Each C In Rg
| ...
| Next

|  le pb est que ce n'est pas une date mais une valeur
*** Je dénote pas cette difficulté.  Il faudrait que tu donnes
plus d'information. Dans le fichier que je t'ai transmis les
cellules ont bien un format et leur contenu se comporte
comme des data "date".

Pour cette partie du code

For Each C In Rg
Fonction Split requiert excel 2000 ou plus récent
Cette fonction retourne un Tableau (array) de chaque
section de chaque ligne qui sont séparée par un espace
    T = Split(C, " ")
    'Nombre d'éléments contenu dans le tableau T
    Nb = UBound(T)
    ' si nb >1 on a affaire à une ligne différente de Site A ou L ien 1
    If Nb > 1 Then
        Une boucle sur chacun des éléments du tableau T
        For A = 0 To Nb
            'Supprime les espaces entourant chacun des items
            ' P représente la chaîne extraite contenu dan s le tableau
             P = Replace(T(A), " ", "")
            'Chaque ligne contient un caractère Chr(160) qu i
             'ressemble à un espace (barre d'espacement m ais qui
             'je crois -> un espace insécable
             P = Replace(P, Chr(160), "")
             'Comme chaque expression dans ton tableau est entourée
             ' de beaucoup d'espace, la fonction split tron çonne la chaîne
             'dont certaines représentent seulement des "   ". Après avoir
             'supprimé les espaces P = ""
             If P <> "" Then
                'variable d'incrémentation pour le tabl eau Tbl
                X = X + 1
                'Un test particulier pour tester le champ date
                If IsDate(P) Then
                    'chaque donnée est mise dans un tableau temporaire
                    'Ce tableau est redimensionner à chaque passage
                    ReDim Preserve Tbl(X)
                    'Trim -> s'assure qu'il ne reste plus " " sur l'élément T(a)
                    'Cdate -> fonction de conversion pour transformer une
                     'chaîne en date
                    Tbl(X) = CDate(Trim(T(A)))
                Else
                    ReDim Preserve Tbl(X)
                    Tbl(X) = Trim(T(A))
                End If
            End If
        Next
        'Copie du contenu tbl vers la même ligne de ton
        'tableau de données mais 7 colonnes plus à droite
        C.Offset(, 7).Resize(, UBound(Tbl) + 1) = Tbl
        'efface le contenu du tableau et remet x = 0 pour
        'le traitement de la future ligne
        Erase Tbl: X = 0
    Else
        'Si split retourne 1 et moins
        'Test pour savoir si le contenu est site ou lien
        'et copie dans la colonne appropriée
        If UCase(C.Value) Like "SITE*" Then
            C.Offset(, 6) = C.Value
        ElseIf UCase(C.Value) Like "LIEN*" Then
            C.Offset(, 7) = C.Value
        End If
    End If
Next



Merci pour tous