problème de découpage d'une cellule non complète avec split et tableau en memoire

KIM

XLDnaute Accro
Bonsoir le forum, Bonsoir les ami(e)s,
Je reviens vers vous pour regler 2 problèmes en vba l'un avec split et les tableaux en mémoire et l'autre avec split et récupération du reste de la cellule après le 2ième mot
en vous remerciant d'avance.

1- Mes cellules sont de la forme " * mot1 - mot2 - mot3"
Avec TableauCF = Split(Trim(Replace(Titre3, "*", "")), "-") je récupère les mot1, mot2 et mot3 dans TableauCF(x)
Quand la cellule est de la forme mot1 - mot2 ou mot1, la macro se bloque et s'arrète. Je n'arrive pas à gérer les erreurs. J'ai essayé:
If Not TableauCF(2) Is Nothing Then ....
ou If TableauCF(2) <> "" Then ...
J'ai toujours le meme blocage à la 1ere cellule qui n'a pas 3 mots séparés par un "-"

2- En vba, je peux recuperer chaque mot d'une cellule séparé par un espace. Mais je n'arrive pas à récupérer toute la chaine de caractères (plusieurs mots) après le 2ième espace jusqu'à la fin de la cellule: càd de la cellule " abc def jeje hehe kelqoi" je recupère dans des cellules "abc", "def" et "jeje hehe kelqoi".
Merci de votre aide
Bien cordialement
KIM
 

Pièces jointes

  • formatageV81.zip
    14.8 KB · Affichages: 40
C

Compte Supprimé 979

Guest
Re : problème de découpage d'une cellule non complète avec split et tableau en memoir

Salut Kim,

1- Mes cellules sont de la forme " * mot1 - mot2 - mot3"
Avec TableauCF = Split(Trim(Replace(Titre3, "*", "")), "-") je récupère les mot1, mot2 et mot3 dans TableauCF(x)
Quand la cellule est de la forme mot1 - mot2 ou mot1, la macro se bloque et s'arrète. Je n'arrive pas à gérer les erreurs. J'ai essayé:
If Not TableauCF(2) Is Nothing Then ....
ou If TableauCF(2) <> "" Then ...
J'ai toujours le meme blocage à la 1ere cellule qui n'a pas 3 mots séparés par un "-"

Pourquoi ne pas utiliser "On Error"
Code:
On Error Resume Next
.Range("A" & Lig2).Offset(0, 1) = TableauCF(0)
.Range("A" & Lig2).Offset(0, 2) = TableauCF(1)
.Range("A" & Lig2).Offset(0, 3) = TableauCF(2)
.Range("A" & Lig2).Offset(0, 4) = TableauCF(UBound(TableauCF))
On Error GoTo 0
Comme ça même si il y a une erreur, le code continue à la suite

2- En vba, je peux recuperer chaque mot d'une cellule séparé par un espace. Mais je n'arrive pas à récupérer toute la chaine de caractères (plusieurs mots) après le 2ième espace jusqu'à la fin de la cellule: càd de la cellule " abc def jeje hehe kelqoi" je recupère dans des cellules "abc", "def" et "jeje hehe kelqoi".
Si tu as récupéré le 1er mot et le 2ème mot, alors tu as juste à calculer ou se trouve le prochain espace avec :
Pos = InStr(Len(1erMot & " " & 2èmeMot), ContenuCellule, " ")

Ensuite tu n'as plus qu'à récupérer le reste, avec :
Phrase = Mid(ContenuCellule, Pos + 1)

Est-ce assez clair !?

A+
 

KIM

XLDnaute Accro
Re : problème de découpage d'une cellule non complète avec split et tableau en memoir

Bonjour le Forum, Bonjour Bruno,
Merci pour ta reponse.
Pour le 1er problème, c'est bon. J'ai utilisé "On Error GoTo 0" mais je ne savais pas qu'il faut mettre au debut " On Error Resume Next".

Pour le 2ieme probleme, As-tu le temps de me faire un exemple avec une cellule de type:
1 - Espace comme separateur de mot " abc def jeje hehe kelqoi" et recuperer dans les cellules adjacentes: "abc", "def" et "jeje hehe kelqoi".
2 ou "-" comme separateur de mot: " abc - def - jeje - hehe - kelqoi" et recuperer dans les cellules adjacentes: "abc", "def" et "jeje - hehe - kelqoi".
Merci d'avance de ton aide
Bien cordialement
KIM
 

Discussions similaires

Statistiques des forums

Discussions
312 525
Messages
2 089 324
Membres
104 121
dernier inscrit
bobquad01