Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Extraction de donnée / Extraire donnée

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 !

B

Bantho

Guest
Bonjour à tous,

Je reviens vers vous concernant quelque chose qui me prend énormément de temps. En effet, je reçois des fichiers où dans les descriptifs, il y a plusieurs infos. Je dois en extraire les données comme par exemple :

Cellule A1 : Repiquage La personnalisation est prévue dans la zone de repiquage qui se trouve dans la partie blanche à gauche du millésime sur le planning. Impression recto seul. Fichier à fournir par vos soins au format du repiquage 255 x 40 mm en SMALL et ( 370 x 60 mm en XXL ) en PDF sans fond perdu. SMALL ouvert : 330 x 470 . Format plié : 330 x 235 mm. XXL ouvert : 480 x 700 mm. Format plié : 480 x 350 mm. Livré avec un rainage entre les feuillets et le planning pour un pliage, idéal pour l'envoi postal. Qualité Les feuillets sont en papier couché satiné 170 g qualité écriture, le planning est imprimé sur du papier 400 g qualité écriture.

En gros il faudrait, grâce au descriptif de la Cellule A1 :

Cellule A2 : 330X470 Cellule B2 : 330 X 235 mm Cellule C2 : 480 X 700 mm Cellule D2 : 170 g Cellule E2 : 400 g

Les cellules ne sont malheureusement pas homogène. L exemple donné est le plus compliqué car c'était pour des calendrier de toutes tailles mais généralement j ai une ou deux dimensions et une ou deux grammage de papier/textile par cellule 🙂
Je peux ensuite avoir 600 lignes comme 12000 lignes de produits 🙂

Aujourd'hui, la seule solutions que je possède est de filtrer par gramme ou mm ou Cm... imaginer 12.000 lignes ainsi ... c est un enfer 🙂

Je vous laisse un exemple aussi de fichier avec les descriptifs que l'on peut trouver 🙂

Je vous remercie infiniment pour toute l'aide que vous pourrez m'apporter
Bonne fin de journée à vous
 

Pièces jointes

Bonjour

Une solution avec une fonction VBA personnalisée utilisant RegEx
(adapté d'un code de JB)
VB:
Function separer(chaine As String, n, vType As Boolean)
  Set obj = CreateObject("vbscript.regexp")
  obj.Global = True
  obj.Pattern = IIf(vType, "\d{1,3}\s([x])\s+\d{1,3}", "\d{1,3}\s([g])+")
  Set a = obj.Execute(chaine)
  If a.Count > n - 1 Then separer = a(n - 1) Else separer = ""
End Function
Exemple d'utilisation
en B1 (puis recopie vers la droite)
=separer($A1;COLONNE()-1;VRAI)

et si on veut extraire le "poids"
=separer($A1;1;FAUX)

PS: Test OK sur la chaine de caractère exemple du message#1

NB:
- Ne fonctionnera que sous Windows (pas sur Mac)
- Ne pas oublier d'enregistrer le classeur en *.xlsm pour conserver le code VBA.
 
Dernière édition:
Réactions: p56
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…