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

  • Initiateur de la discussion Initiateur de la discussion KIM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour