reconstituer un tableau en ligne

lola18

XLDnaute Junior
Bonjour,

j'ai récupéré les notes d'un de mes collaborateur au format word que j'ai ensuite injecté dans excel, et là... la cata toutes les données sur une colonne:confused:

J'ai donc tenté de récupérer les infos dont j'avais besoin, réussite partielle je bloque.Bref j'ai donc des données en colonne qui ne sont pas l'une en face de l'autre et que je souhaiterais mettre en ligne.... Après plusieurs test avec des fonctions SI et RECHERCHE....et ben ça marche pas :(

Tout est expliqué dans le fichier joint, je suis preneuse de toutes solutions.

Merci par avance de votre aide
 

Pièces jointes

  • formule_H.xlsx
    33.1 KB · Affichages: 46
  • formule_H.xlsx
    33.1 KB · Affichages: 56
  • formule_H.xlsx
    33.1 KB · Affichages: 47

lola18

XLDnaute Junior
Re : reconstituer un tableau en ligne

comme j'ai données nominatives et des données clients :-/ c'est pour ça que j'ai tout recopié dans un nouveau fichier mais je vais essayé de le formater et de l'uploader de nouveau merci
 

djidji59430

XLDnaute Barbatruc
Re : reconstituer un tableau en ligne

Je suis désolé.
Tant qu'il n'y aura pas a de valeurs convenables, je ne peux rien faire. Je ne comprends pas d'ou vient ce que l'on recherche (et ce qu'on recherche). En attendant, je te mets une formule regroupée (en C54 =SI(OU(ESTNUM(A4);ESTNUM(CHERCHE(F11;A:A)));"OUI";"NON") - je ne sais meme pas si c'est un et() ou un ou() qu'il te faut, on ne peut se baser sur rien, ni rien vérifier. Tu mets des formules en lignes 10, mais on ne voit pas ce qu'elles font.
par exemple pourquoi 145€ et brest ne sont pas sur la meme ligne ?
Si tes prix sont deja en euros, ne serait ce que parce que le format est deja en monétaire ?
Donne une feuille de 100 lignes en changeant le nom des clients et en mettant le resultat voulu, a l'endroit voulu, coloré en jaune par exemple.
D'un autre coté, je ne suis pas seul sur le forum ! Il y a des gens beaucoup plus doués que moi qui passeront peut-etre...
Essaye deja ma formule
 

lola18

XLDnaute Junior
Re : reconstituer un tableau en ligne

Bonjour djidji59430,

En fait je n'ai pas que le nom de mes clients à changer, si je t'envoie le tableau avec les modifs je devrai le retaper entièrement:confused:
J'ai essayé de reformuler ma demande plus clairement dans le tableau ci joint, mais peut être ce que je demande n'est pas jouable. Et oui c'est normal que les données ne soient pas sur la même ligne c'est bien ça le problème

En revanche merci pour la correction de la formule c'est tout à fait ça.
 

Pièces jointes

  • tableau.xlsx
    12.7 KB · Affichages: 41
  • tableau.xlsx
    12.7 KB · Affichages: 43
  • tableau.xlsx
    12.7 KB · Affichages: 42

djidji59430

XLDnaute Barbatruc
Re : reconstituer un tableau en ligne

Bonsoir,
Je ne pense pas qu'il y ait une solution, car je ne vois pas de logique dans ton tableau. De plus, ce tableau, c'est le résultat des Tes formules. Sans rien préjugé, il est fort possible qu'on puisse obtenir directement ton résultat sans passer par ces intermédiaires. Repose ta question avec un autre titre et formulée différemment , tu auras peut-être des réponses.
Le tableau que tu as renvoyé est très clair, je dirais même transparent. On voit ce que tu veux, mais tu ne peux donner aucuns renseignements sur la façon dont tu l'a obtenu (une formule ça dit comment, pas pourquoi). Je suis désolé.
 

gosselien

XLDnaute Barbatruc
Re : reconstituer un tableau en ligne

Bonjour,

il est possible de s'en approcher mais je bute sur la fin toujours par manque de maitrise des tableaux,

pour la séparation des / mis plus en avant , il y a surement qq un ici qui saura faire mieux ou splitter mieux que je ne le fais :D

je suivrai le post :)

P.
 

Pièces jointes

  • tableau.xlsm
    26.6 KB · Affichages: 48
  • tableau.xlsm
    26.6 KB · Affichages: 50
  • tableau.xlsm
    26.6 KB · Affichages: 50

gosselien

XLDnaute Barbatruc
Re : reconstituer un tableau en ligne

re,

elle fonctionne (pas parfaitement) mais je ne sais pas bien enlever les / que je mets comme séparateur; les 5 clients sont là, les villes aussi et les montants également...
Reste à savoir comment faire mieux :) , il a surement qq un ici qui peut l'améliorer :)

P.
 

camarchepas

XLDnaute Barbatruc
Re : reconstituer un tableau en ligne

Bonjour Lola, Djidji , Patrick,

Bon juste en étant logique , sans tableau en quelques lignes :

Code:
Sub Retrouve()

Dim LigneFin As Long, ligne As Long
Dim Cellule As Range
Dim Mem As String
LigneFin = Range("A" & Rows.Count).End(xlUp).Row
For Each Cellule In Range("A4:A" & LigneFin)
  If Cellule <> Mem Then
   Mem = Cellule
   ligne = ligne + 1
   Range("F" & ligne) = Cellule
  End If
  If Cellule.Offset(0, 2) <> False And Cellule.Offset(0, 2) <> " " Then Range("H" & ligne) = Cellule.Offset(0, 2)
  If Cellule.Offset(0, 4) <> "" Then Range("G" & ligne) = Cellule.Offset(0, 4)
Next
End Sub
 

camarchepas

XLDnaute Barbatruc
Re : reconstituer un tableau en ligne

Re à tous,
Pour Patrick voici un petit essai avec tableaux et dico

J'ai essayé de ne pas être avare sur les commentaires

Code:
Sub Tablo()
Dim Lignefin As Long, Tourne As Long, Indexe As Long
Dim Zone As Variant
Dim Info() As String
Dim Dictio As Object
'Création dictionnaire
 Set Dictio = CreateObject("Scripting.Dictionary")
'Préparation tableau de consolidation avec un dimensionnement à 0 ( Attention , seule la deuxieme dimension est redimensionnable
 ReDim Info(3, 0)
'Recherche derniere ligne
 Lignefin = Range("C" & Rows.Count).End(xlUp).Row
'Mise en tableau de la zone à traiter.(zone commence à l'indice 1, zone (ligne,colonne))
 Zone = Range("C7:G" & Lignefin)
'Boucle de 1a 1 ligne à la derniére
 For Tourne = 1 To UBound(Zone, 1)
  'Si nom client nom présent dans le dico
   If Not Dictio.exists(Zone(Tourne, 1)) Then
     'Note dans le dico l'indexe actuel pour le client donné
      Dictio(Zone(Tourne, 1)) = Indexe
     'Redimensionne en préservant les données le tableau de conso
      ReDim Preserve Info(3, Indexe)
     'Charge le nom client dans le tableau
      Info(0, Indexe) = Zone(Tourne, 1)
     'Incrément de l'indexe
      Indexe = Indexe + 1
    Else 'Si client connu dans dico
     'Si reconnaissance donnée cout valide, charge dans tableau suivant l'indexe mémorisé dans le tableau pour ce client
      If Zone(Tourne, 3) <> "Faux" And Zone(Tourne, 3) <> " " Then Info(2, Dictio(Zone(Tourne, 1))) = Zone(Tourne, 3)
     'Si reconnaissance donnée ville valide, charge dans tableau suivant l'indexe mémorisé dans le tableau pour ce client
      If Zone(Tourne, 5) <> "" Then Info(1, Dictio(Zone(Tourne, 1))) = Zone(Tourne, 5)
  End If
Next ' controle fin de boucle
'Inscription du tableau en H14
Range("H14").Resize(UBound(Info, 2), UBound(Info, 1)) = Application.Transpose(Info)
End Sub
 

lola18

XLDnaute Junior
Re : reconstituer un tableau en ligne

Bonjour à Tous,

Merci pour vos contribution. Comment faire fonctionner cette macro? J'ai copié/collé le code VBA à la place de celui de Patrick mais ça ne fonctionne pas, y a t il une manip spécifique à faire?

Merci par avance de vos lumières

++
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz