Récupérer des données spécifiques depuis un fichier txt

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

I

iliasse

Guest
Bonjour,

Je me tourne une fois de plus vers les développeurs.

J'essaye de récupérer le nom de ma machine qui se trouve dans ma feuille "écriture", ce nom de machine est valable pour tout les composant qui se trouve en dessous jusqu’au prochaine nom de machine (les noms de machines sont indiqué par le "#").

Sauf que je suis confronté à un problème dans le code que j'ai fais, j'ai un soucis car il test une seul fois et inscrit le même nom de machine pour tous mes composants (dans ma feuille "mise en forme finale")... HELP

Code:
'Récupération nom de machine
   For i = Prem_ligne To Der_ligne
        If .Cells(i, "K") = "Yes" Then
            Der_lignefeuil2 = cws.Cells(Rows.Count, "E").End(xlUp).Row + 1
            .Cells(i, "B").Copy _
            Destination:=cws.Cells(Der_lignefeuil2, "E")
            ln = i - 1
            'While Left(.Cells(ln, "B"), 1) <> "#1(FX-2)"
           '    ln = ln - 1
           'Wend
            'cws.Cells(Der_lignefeuil2, "E") = Replace(Split(.Cells(ln, "B"), "(")(1), ")", "")
            If Left(.Cells(ln, "B"), 1) <> "#1(FX-2)" Then
                cws.Cells(Der_lignefeuil2, "E").Value = "FX-21"
            ElseIf Left(.Cells(ln, "B"), 1) <> "#2(FX-2)" Then
                cws.Cells(Der_lignefeuil2, "E").Value = "FX-22"
            ElseIf Left(.Cells(ln, "B"), 1) <> "#3(2050RL)" Then
                cws.Cells(Der_lignefeuil2, "E").Value = "2050"
            ElseIf Left(.Cells(ln, "B"), 1) <> "#4(2080L)" Then
                cws.Cells(Der_lignefeuil2, "E").Value = "2050"
            End If
            
        End If
    Next i

Merci d'avance
 

Pièces jointes

Re : Récupérer des données spécifiques depuis un fichier txt

Bonsoir
la méthode (pour du vba) n'est pas du mieux
j'ai testé un bout de ton appli dans un nouveau fichier et FAIT le vba !
c'est pas du "moderne" (BASIC) mais ça marche ... y a que le résultat qui compte !
donc maintenant charge à toi de voir et d'adapter , j'ai pas mis en forme le nom de ta machine
mais ça se "triture" facilement
A toi de jouer !!
 

Pièces jointes

Re : Récupérer des données spécifiques depuis un fichier txt

Ton code fontionne à condition qu'on ai les mêmes data tout le temps, or ce n'est pas le cas mes data varient ...
Je n'ai pas toujours les mêmes fichiers produits à analyser. De plus à la place de #1(FX-2) j'aurais voulu avoir FX-21, à la place de #2(FX-2) --> FX-22... etc
 
Re : Récupérer des données spécifiques depuis un fichier txt

Quels DATA ?
On prend ce qu'on veut qu'on met dans une variable !
FX-21 : bin faut faire du découpage de chaine ( left, right, mid, len ..etc ) et reconcaténer comme on veut
J'ai dit que c'était à ADAPTER
et améliorer si tu veux choisir tes types de DATA , tu fais une liste déroulante ou passe par un USF avec des combo ..etc
vu le Pg que t'as fait ça doit pas te rebuter , non ?
On aide mais on fait pas le boulot
 
Re : Récupérer des données spécifiques depuis un fichier txt

Oui biensur ! D'ailleurs merci pour les infos que tu m'as aporté.
Mais dans les data(les infos dans lesquelles on va piocher le nom d ela machine, fx-21,fx-22,2050...) pour passer d'un nom de machine à l'autre tu considère qu'il y a 9 cellules qui les séparent et du décompte de 9 à 0 mais ce que j'essaye de te dire c'est qu'il n'y a pas toujours 9 cellules..
Connais tu une méthode qui pourrait me permettre de coder ce genre de contrainte?
 
Dernière modification par un modérateur:
Re : Récupérer des données spécifiques depuis un fichier txt

Non je pense que t'as bien décortiqué mon code !!
Je pars de 9 (départ) et après fini , j'ai fait ça vite aussi , c'est simplement pour trouver une ligne de data CORRECTE au début !!! ( avant c'est du charabia ) et regarde bien je ne DECompte pas de 9 à 0 ?? : j'initialise une variable de la ligne quand comp. trouvé et je remonte (-1) jusqu'à trouver le 1er carac. = "#"
 
Re : Récupérer des données spécifiques depuis un fichier txt

Je te laisse un exemple comment on peut "triturer" une chaine et donc obtenir
le résultat que tu voulais pour le nom de ta machine , enfin j'espère !!
Forcément à adapter dans ton appli
 

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
839
Réponses
15
Affichages
651
Réponses
8
Affichages
748
Réponses
4
Affichages
626
Réponses
7
Affichages
445
Réponses
3
Affichages
410
Retour