"Dé-concaténer" deux textes séparés par un +

  • Initiateur de la discussion Initiateur de la discussion hbb
  • 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 !

hbb

XLDnaute Occasionnel
Bonsoir tout le monde,

Je suis à la recherche d'une fonction ou code vba excel qui me permettrait d'identifier la ou les villes séparées par le signe "+" dans une cellule du tableau1.

Ensuite les placer une par une dans une colonne du tableau 2.
Les cellules contenant qu'une seule ville du tableau1 seraient également placées dans tab2 mais sans "dé-concaténer".

La dernière opération à effectuer dans tab2 est de placer les coûts correspondants mais en leur appliquant un pourcentage (précisé dans le tableau3).

J'espère avoir été clair...
Merci d'avance à celui ou celle qui pourra m'aider.

Les tableaux en pièce jointe pour simplifier.

A bientôt
Hbb
 

Pièces jointes

Re : "Dé-concaténer" deux textes séparés par un +

Bonsoir le fil,

Voici une proposition en VBA:

Code:
Sub test()
For i = 3 To [A65536].End(xlUp).Row
  tableau = Split(Range("B" & i).Value, "+")
  For j = 0 To UBound(tableau)
    Range("E" & [E65536].End(xlUp).Row + 1).Value = Trim(tableau(j))
    If UBound(tableau) = 0 Then
      Range("F" & [F65536].End(xlUp).Row + 1).Value = Range("C" & i).Value
    Else
      Set ville = Columns("J:L").Find(Trim(tableau(j)), LookIn:=xlValues, lookat:=xlWhole)
      Range("F" & [F65536].End(xlUp).Row + 1).Value = ville.Offset(, UBound(tableau) + 1).Value * Range("C" & i).Value
    End If
  Next
Next
End Sub
 
Re : "Dé-concaténer" deux textes séparés par un +

Bonsoir,

J'ai quand même constaté un problème dans ce code.

Quand les villes du tableau 3 sont toutes différentes, le pourcentage s'applique correctement.

Par contre, quand nous avons par exemple en Tableau3 :
Ligne 1 : PARIS - NANTES
Ligne 2 : VANNES - QUIMPER
Ligne 3 : PARIS - NANTES - CAEN (là ça pose Pb...)

Merci d'avance pour votre aide et bonne soirée.
Hbb
 

Pièces jointes

Re : "Dé-concaténer" deux textes séparés par un +

Re bonjour,

En effet, voici la correction:

Code:
Sub test()
ligne = 1
For i = 3 To [A65536].End(xlUp).Row
  tableau = Split(Range("B" & i).Value, "+")
  If UBound(tableau) > 0 Then ligne = ligne + 1
  For j = 0 To UBound(tableau)
    Range("E" & [E65536].End(xlUp).Row + 1).Value = Trim(tableau(j))
    If UBound(tableau) = 0 Then
      Range("F" & [F65536].End(xlUp).Row + 1).Value = Range("C" & i).Value
    Else
      Set ville = Columns("J:L").Find(Trim(tableau(j)), LookIn:=xlValues, lookat:=xlWhole)
      Range("F" & [F65536].End(xlUp).Row + 1).Value = Cells(ligne, j + UBound(tableau) - 1 + 12).Value * Range("C" & i).Value
    End If
  Next
Next
End Sub
 
Re : "Dé-concaténer" deux textes séparés par un +

Bonsoir à tous,

A nouveau un p'tit pb.

Ce code ne fonctionne plus quand j'inverse les lignes 5 et 6 du tableau 1 par exemple.
En effet, l'ordre des sites livrés en tablo 1 n'est pas le même que celui des villes dans le tablo 3.
Est-ce toujours rélisable ?

Merci d'avance,
Hbb
 

Pièces jointes

Re : "Dé-concaténer" deux textes séparés par un +

Bonjour,

Si un circuit (PARIS + NANTES + CAEN par exemple) est écrit plusieurs fois dans le tableau 1 est-ce que les pourcentages d'attributions du tableau 3 changent ou ils restent les mêmes?
 
Re : "Dé-concaténer" deux textes séparés par un +

Merci infiniment Skoobi pour toutes tes réponses.
En espérant ne plus avoir à user de ton temps....(je pense que c'est bon cette fois-ci)

Bonne journée
A+
hbb
 
Re : "Dé-concaténer" deux textes séparés par un +

Bonjour à tous,

J'ai d'abord rencontré un problème avec le code qui m'avait été généreusement créé par Skoobi en faisant le test au taf.
On travaille sur office 2000 de mémoire et la fonction SPLIT ne passait pas !!!

Un collègue m'a donc modifié légèrement ce code en ajoutant une fonction pour déconcaténer. Maintenant c'est bon.

Et là, j'ai de nouveau constaté un p'tit problème.
Je l'ai décrit dans le fichier joint pour que ce soit plus clair avec les tableaux sous les yeux.

Merci d'avance à celui ou celle qui pourra me sortir de cette galère...
A bientôt j'espère.
Hbb
 

Pièces jointes

- 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

N
Réponses
4
Affichages
1 K
capc93
C
Retour