Projet vba excel 2013 - 64 Bits

Fermé
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015 - Modifié par irongege le 2/01/2015 à 21:53
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 9 janv. 2015 à 23:02
Bonjour à toutes et tous,

Tout d'abord veuillez recevoir mes meilleurs voeux pour cette nouvelle année.

Ensuite j'ai pour projet de récupérer des données sur une page internet
de manière à traiter les informations sur un tableur (excell 2013 par exple)

Je vous joins une image (ca vaux mieux qu'un long discours ^^)

1) Premièrement ... ^^

J'ai une chaine comme celle là :

33m 14s21:38:03Expédition (R)profondeurs de l`espace[1:65:4] Memere Sylvette

J'aimerai récupérer ce qui se trouve entre "[" et "]"
quand je programmais je sais qu'on pouvait calculer la position de " [ " et de " ] " et de récupérer ce qu'il y avait entre ces deux caractères... mais je ne me souviens plus vraiment... (et oui je vieillis mdr) en fait ce sont des coordonnées de planètes de 'ogame' pour ceux qui connaissent ^^

donc ca peut varier 1:109:13 ou 1:1:1 par exemple... voilà pourquoi j'ai besoin de récupérer ce qu'il y a à l'intérieur (le nombre de caractère à l'intérieur peut varier) mais si je prends la position de " ] " en faisant la soustraction de la position de " [ " dans la chaine :

33m 14s21:38:03Expédition (R)profondeurs de l`espace[1:65:4] Memere Sylvette

j'aurai exactement le nombre de caractère à récupérer...

comment faire s'il vous plait pour pouvoir récupérer l'information ^^ et de la mettre dans un tableur.


2) deuxièmement ^^

j'ai la chaine de caractères suivantes :

Grand transporteur: 4 Métal: 46.717 Cristal: 17.628 Deutérium: 7.477Monkey D Luffy [1:61:6]


j'ai besoin de récupérer les informations (nombre de métal , Cristal, et deutérium
dans la même idée je pensais prendre la position exact du mot "Cristal" et de soustraire la position du mot "Métal:" pour avoir le montant du métal...

etc pour cristal et la même chose pour le nombre de deutérium ^^
pour le nombre de deutérium, de détecter la position de la première voyelle après la position du mot "Deutérium:" on aurait ainsi le nombre de deutérium

comment faire pour récupérer les infos les copains s'il vous plait

Merci les copains ^^
A voir également:

7 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 3/01/2015 à 00:21
Bonjour,

C'est toi qui m'a harcelé il y a 5 ans ?
Sans rancune alors ;-)

Pour que ce soit plus simple une fonction personnalisée.
A mettre dans un module standard (Alt+F11 pour aller dans VBE).
Ensuite s'utilise comme une fonction d'excel sur la feuille.
Function ogame(cellule As Range, valeur As String) As Variant
    Select Case LCase(valeur)
    Case "planète"
        ogame = Split(Split(cellule, "[")(1), "]")(0) & ""
    Case Else
        ogame = Val(Split(cellule, valeur)(1))
    End Select
End Function

Ex syntaxe :
=ogame(A2;"Planète")
=ogame($A5;"Métal:")
=ogame($A5;C4)
https://www.cjoint.com/c/EAdaAjcUa4L
A tester sur plus d'extractions...

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
Modifié par nooby01 le 3/01/2015 à 20:24
Merci Eric pour ta réponse... ^^ oui peut être sur le serveur 36 FR (ancien serveur)

mon pseudo : Terminator ^^

ca marche niquel,

Il serait possible de lancer la routine sur 16 slots ?
(oui j'ai la recherche ordi assez haut)

dis moi tout... et merci à toi déjà pour ta réponse ^^

Je t'ai remis le fichier excell avec la feuille "Donnee-En-Vol"
en gros je fais une copie de la page du jeu ogame
et je viens copier en collage spécial sur la cellule A1 de la feuille "Donnee-en-vol"

les 16 slots pour une meilleure lisibilitée on été entouré et spécifié (descend un peu dans la feuille "Donnee-en-vol" tu verras ^^

Penses tu s'il te plait, qu'on pourrait récup. les données des 16 slots,
planète attaquante
planète attaquée
Ressources metal
Ressources cristal
Ressources deut

de mettre les info recueillies dans des cellules pour qu'on puisse exploiter les résultats.

le "must" serait meme si tu as la possibilité s'il te plait de comptabiliser le nombre de vaisseaux (Pt... => traqueur... Edlm) puisque la page "Empire" du jeu "OGame" ne tiens pas les comptes des vaisseaux en vol... (ce qui je te l'accorde est complètement stupide pour Ogame ^^)

Par avance éric, merci pour tout l'ami...




Pour le slot 1 : les info sont copiées sur les cellule A34 et A37
Pour le slot 2 : les info sont copiées sur les cellule A38 et A41
Pour "n+1" slot : A38+4 lignes et A41+4 lignes

PS : comment fais tu pour envoyer ton fichier excell ici ^^ j'ai pas réussi ^^
jsuis bon raideur mais nul sur excel ^^ mdr
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
3 janv. 2015 à 21:02
Suivant ce que tu ramènes dans les 16 slots...

Les lignes varient de A34 à A150 pour les infos à récupérer... erf... comment faire ^^ ?
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 3/01/2015 à 22:15
En fait j'ai fait la fonction assez souple. Tu peux saisir n'importe quelle chaine caractéristique, elle te retournera le premier nombre qui la suit.
Il suffit de saisir la fonction sur la feuille autant de fois que tu as de valeurs à récupérer, en mettant les bons paramètres :
=ogame("chaine avec les données" ; "chaine devant la données à récupérer")

Si "chaine devant la données à récupérer" n'est pas trouvée elle retourne #VALEUR. Je peux modifier pour retourner 0, vide ou ce que tu veux
Prend exemple sur la ligne 5 du fichier que je t'ai joint. Tu peux récupérer "sonde d'espionnage:", "bombardier:", etc

Sinon déposer le fichier sur cjoint.com et coller ici le lien fourni.
Précise quelles données à récupérer et où les mettre.
Ex : planète attaquante, planète attaquée c'est où ?

eric
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015 > eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024
3 janv. 2015 à 23:13
coucou éric

j'ai remarqué deux trucs si je peux lancer l'idée s'il te plait

quand tu as une valeur qui se termine par 0... ton "0" disparait, ce qui tu l'avoues est bien traite ... car au lieu de compter 143 210 ressources, tu n'en comptes que 14 321 ptdr... ^^

quand tu as une expédition en vol... ca te décale d'une ligne... et là la planète attaquée avec les ressources se situe sur la 4 eme ligne et non pas sur la 3 eme ligne...

je t'ai fait un screen... une image vaux mieux qu'un long discours ^^ mdr

j'ai fait une formule ignorant l'erreur du coup ... et j'aimerai concaténer les lignes des slots du coup...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
3 janv. 2015 à 23:26
Non, pas d'image, que veux-tu que j'en fasse ? On n'est pas sur face de bouc ici.
Un fichier avec les anomalies en précisant quelle est l'anomalie.
eric
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
4 janv. 2015 à 00:33
coucou éric... excuse moi je travaillais sur le fichier pour t'expliquer au mieux (avec des commentaires), voila le fichier la page est après la tienne ^^

https://www.cjoint.com/c/EAeaOY6vF5W
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
6 janv. 2015 à 21:46
Coucou éric, et oui pour l'hosto... pancréatite aigue sévère lithiasique, un balthazar E ... pffff...

je t'envoie le fichier avec ce que tu m'as demandé... pour "stationner" et "transférer" avec moins de 16 slots comme voulu ^^

https://www.cjoint.com/c/EAgvRVNDXOO

en fait la macro doit être lancée de la page "acceuil", (bouton "Collez les données : Raids en cours") je ne comprends pas : "la lancer "d'ici"... tu fais comment s'il te plait ^^

Merci pour la page "Raids" , mais en copiant les raids sur la cellule "A1" de la page "Donnee-Flotte-En-Vol" et en lançant la macro "Recup donnée" rien ne se met dans la page raid l'ami ^^

Promis je ne change plus la position, ni le nom de la feuille ^^

Les planètes que tu vois en dessous du tableau de la page "RAIDS" sont les planètes du joueurs d'où peuvent partir les attaques, les stationner, les transférer, les expéditions... ^^; ce qui permet après de concaténer les informations des 16 convois différents et de regrouper par planète... (enfin par coordonnée de la planète) comme cela on sait combien de vaisseaux en vols et combien de ressources (en vols) partent et arrivent sur chaque planète . Cela permet une vision bien plus nette et bien plus précise que la page "Empire" du jeu "Ogame". Il peut y avoir 13 planètes, donc 13 coordonnées pour les planètes du joueur. (13 planètes mais aussi donc... 13 lunes associés)

Comment fais tu pour lancer la macro d'ici stp ^^

et si tu dois allez à l'hosto... n'oublie pas de revenir ^^
A très vite l'ami ^^
David
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
6 janv. 2015 à 23:31
pancréatite aigue sévère
Aie, je connais, ça fait très très mal...
Je dirais presque que tu t'en tires bien.
L'année dernière pour ça : 5 semaines d'hospitalisation. Je sors, le soir même j'en refais une encore plus sévère : 4 mois 1/2 d'hospi au total

en lançant la macro "Recup donnée" rien ne se met dans la page raid l'ami ^^
C'est normal, j'ai oublié de sauvegarder à la fin, tu as eu une version intermédiaire où c'était recup_donnees2 la macro.

C'est quoi cette extraction où un slot fait 4 ou 5 lignes au lieu de 4 lignes tout le temps comme avant ? peut-être la largeur de la fenêtre du navigateur au moment de la copie (?)
J'ai fait en conséquence mais s'il y a d'autres irrégularités ça risque de sortir n'importe quoi...

Les planètes que tu vois en dessous du tableau de la page "RAIDS" ...
Donc c'est bon comme ça ? Rien à faire pour moi ?

J'ai lié la macro au bouton 'Collez les données : Raids en cours'

J'ai fait la partie collage du PP mais le code est en commentaire pour l'instant pour ne pas à avoir à copier avant chaque test.
Tu peux tester cette partie en réactivant les lignes de code.

https://www.cjoint.com/c/EAgxM406bVC
eric

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
7 janv. 2015 à 00:33
Coucou éric... ^^

merci pour ta rapidité d'action, franchement moulte merci l'ami
oui pour la pancréatite surtout quand c une lithiase de 6 mm quand tu fais 1,82 m.
48 h de réanimation en juin 2011 suivi d'une attente interminable pour enfin être opéré à la pitié salpé. à Paris fin juillet 2013... quasi 2 ans à être sur le fil du rasoir à cause des épanchements pancréatiques... ca te plie une armoire à glace en moins de 10 secondes ^^

veux tu le fichier excel sur lequel je travaille ? tu auras une vision beaucoup plus globale, et qui sait... ca te remettra peut être à Ogame ^^

tiens je cherche la formule mathématique des nouveaux serveurs pour le graviton ^^
l'aurais tu s'il te plait ?

et pour toi pas trop grave ?.

je vais tester le fichier, te tiens au jus l'ami ^^
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
7 janv. 2015 à 01:11
éric, pourquoi quand j'ouvre n'importe lequel de mes fichiers excel me demande de les ouvrir uniquement en lecture seule ?.

ce qui sur les fichiers lourds est impossible à ouvrir ?

y'a une manip à faire stp ?
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
7 janv. 2015 à 01:26
dis éric je viens de me rendre compte d'un truc,

depuis que j'ai fermé ton fichier il n'ouvre plus le mien, sauf en lecture seule, mais dans ce cas il rame et ne l'ouvre pas. tu aurais une soluce stp ?

par contre j'ai vu que pour les expéditions retour tu as :

Expédition (R)profondeurs

il est possible de le rajouter s'il te plait ?
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 janv. 2015 à 11:33
Bonjour,

éric, pourquoi quand j'ouvre n'importe lequel de mes fichiers excel me demande de les ouvrir uniquement en lecture seule ?
Je l'ignore, la macro n'y est pour rien.
Par contre tu avais des liens vers d'autres fichiers qui ont peut-être été abimés en transitant chez moi.
Il vaut mieux que tu récupères le code et que tu le colles dans une version de fichier qui fonctionne.
Ou bien un problème de droits dans tes répertoires...

expéditions retour
Tu as d'autres actions avec (R).
Il faut toutes les distinguer ou seulement les expéditions ?
Si tu regardes le code tu as :
        ElseIf datas(lig, 1) Like "*Expéditionprofondeurs *" Then
typeLig = "Exp"

Tu peux dupliquer ces 2 lignes et modifier les 2 libellés pour compléter ton code.
Comme ça tu sauras faire si les extractions évoluent.

eric
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
7 janv. 2015 à 22:17
je teste ca éric et te tiens au jus ^^

tu y vas quand à l'hosto l'ami ?

si tu veux je t'envoies le fichier excel sur lequel je travaille, tu en penses quoi ? si tu es ok envoies en mp ton adresse email,

à tantôt ^^
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 janv. 2015 à 22:39
J'y vais 3 jours à partir de lundi
Je pense que c'est mieux que tu copie-colles le code dans ton classeur.
Mais si tu l'estimes nécessaire tu peux me passer le lien en MP. Cliquer sur mon pseudo et 'Lui écrire'.
eric
0
nooby01 Messages postés 22 Date d'inscription dimanche 30 novembre 2014 Statut Membre Dernière intervention 9 janvier 2015
8 janv. 2015 à 20:30
ca marche niquel éric...

j'espère que tout se passera bien pour toi l'ami

je t'envoie un nouveau projet (enfin la continuité)
ca marche niquel avec des formules excel mais ca allourdi considérablement le poids du fichier

est il possible de mettre ca en macro s"il te plait ?

En gros tu colles la page "Empire-Planète" (mode unicode collage spécial)
et "Empire-Lune" (mode unicode collage spécial)

https://www.cjoint.com/c/EAiuMNTsScj

qu'en penses tu en formule excel... c'est chaud... ?. ^^
je me suis bien pris la tête pour faire les formules ^^
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
8 janv. 2015 à 23:21
C'est beaucoup trop d'un coup, impossible de s'y retrouver.
Demande les opérations dans l'ordre où elles doivent être réalisées et avec tous les détails. Et vas-y par étapes.
1) coller quoi et où ? Et avec quelles transformations.
Précise bien plages de départ et plage d'arrivée.
Après colle s'il te plait la page Empire - Planètes ne veut rien dire pour moi.

Dans les formules (qu'on verra plus tard mais il faut que tu vois des choses) pourquoi tu t'embêtes avec les "." ? Met ton excel (ou windows dans les paramètres régionaux) avec séparateur décimal "." et plus besoin de transformer quoique ce soit. Tu auras un gain de réactivité appréciable, travailler sur les chaines est très gourmand.

On n'écrit pas : =SI(G$2="Somme";"";SI(G2="";"";SI(G$2="";"";..)
mais : =SI(ou(G$2="Somme";G$2="");"";...)

Et tu as des références circulaires. Des erreurs à mon avis. Par exemple en AJ12 :
=SI(AJ$2="Somme";"";SI(AJ2="";"";SI(AJ$2="";"";AJ8/AJ12)))

Dit ce que tu en penses.
eric
0