BrianLux
Messages postés24Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention 2 septembre 2008
-
10 juil. 2008 à 10:07
BrianLux
Messages postés24Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention 2 septembre 2008
-
14 juil. 2008 à 10:47
Bonjour à tous,
alors ce petit défi ces un problème que l'on m'as donné en stage sa fait maintenant une semaine que je suis dessus (autant dire que je m'accharne) étant débutant je ne connaissais pas VBA il y a une semaine et on va dire que je m'en sort pas mal déjà. (mais pas assez pour pouvoir faire cette foutu macro ^^ )
[center]Sans ne plus vous faire attendre voici la catastrophe ^^ :/center
(je vais essayer de ne pas complexisé la chose j'aurais bien mis des images pour vous faciliter la comprehension du problème mais il faut etre membre club si toutefois vous avez des questions MP, MSN(vous me demander je pourrais vous envoyer les fichiers))
[center]Problème/center J'ai deux feuille excel une "MONALISA" et l'autre "GABRIEL" dans le meme fichier ( tes.pax ).
Dans MONALISA, j'ai un tableau de données avec des caractéristiques: (je vous mets la première ligne)
FlightNumbers Date Destination Aéroport D Aéroport A Class Coupon Class LG Pax
LG-0231 10/05/2008 DJE LUX DJE V V 141
Dans GABRIEL, j'ai aussi un tableau de données avec ces meme caractéristiques:
LG-0231 10/05/2008 DJE LUX DJE (pas cette colonne) V 141
Mon But est de copier MONALISA et GABRIEL dans une 3ème feuille "result" comme ceci:
LG-0231 10/05/2008 DJE LUX DJE V V 141 V 141
Vert étant MONALISA et Rouge étant GABRIEL ( c'est pour mieux expliqué sur le fofo pas besoin de faire dans la macro)
Mon second but sera de vérifier si La class LG de MONALISA et de GABRIEL sont les memes et si les PAX aussi
jusque la pas trop de souci une macro très simple permets de copier de comparer et de surligné si il y a une différence (pour qu'ensuite je puisse chercher d'ou viens cette erreur)
Nan le problème surviens quand l'on a à faire ceci sur 20 000 cellules, ce qui surviens d'emblé ces les boucles bien sur !!!!
alors on applique le code utiliser précédament (voir tout le code en fin de page) et on l'insert dans une boucle sa marche bien sur jusqu'a ce que GABRIEL ou MONALISA ce mettent à différé.
petit démonstration :
FlightNumbers Date Destination Aéroport D Aéroport A Class Coupon Class LG Pax
LG-0231 10/05/2008 DJE LUX DJE V V 141
LG-0236 01/05/2008 DJE DJE LUX T T 1
### ### ### ### ### V V 83
### 04/05/2008 DJE LUX DJE V V 131
<hr />
LG-0231 10/05/2008 DJE LUX DJE ### V 141
LG-0236 01/05/2008 DJE LUX DJE ### B 1
### ### ### ### ### ### T 1
### ### ### ### ### ### V 83
### 04/05/2008 DJE LUX DJE ### V 131
<hr />
Et La tout le monde peut imaginer ce que j'obtiens ...
<hr />
Fl.N Date Dest. Aér.D Aér.A Class C Class LG PAX Class C PAX
LG-0231 10/05/2008 DJE LUX DJE V V 141 V 141
LG-0236 01/05/2008 DJE DJE LUX T T 1 B 1
### ### ### ### ### V V 83 T 1
### 04/05/2008 DJE LUX DJE V V 131 V 83
(la suite de MONALISA) V 131
Petite question auxquel je vais repondre :
Bien sur on pourrais se dire beh tu n'as qu'a copier les caractéristiques de GABRIEL puisque ces les memes ques ceux de MONALISA = ==> des dates présentes dans MONALISA ne sont pas présentes sur GABRIEL
Comment faire j'ai en partie trouver la réponse et avec l'exemple cité j'ai réussi a le mettre sous la forme voulu :
Fl.N Date Dest. Aér.D Aér.A Class C Class LG PAX Class C PAX
LG-0231 10/05/2008 DJE LUX DJE V V 141 V 141
LG-0236 01/05/2008 DJE DJE LUX T T 1 B 1
### ### ### ### ### V V 83 T 1
### ### ### ### ### ### ### ### V 83
### 04/05/2008 DJE LUX DJE V V 131 V 131
Le problème c'est que il n'y a pas que cette exemple il s'agit maintenant de l'appliquer au reste et bien sur dans la boucle.(j'oubliais par moment ces MONALISA qui a plus de class LG que GABRIEL) le but définitif étant que pour chaque vol, date, destination, je puisse avoir Class LG et PAX de MONALISA et de GABRIEL tel l'exemple situé un peu plu haut j'en aurais pas beaucoup je le ferais à la main mets la 20 000 vol ces morts surtout qu'ils ont ( l'entreprise du stage) l'intention de m'en donner plus par la suite ...
Alors soit je suis dans le caca ou je suis dans le caca
C'est le seul moyen que j'ai trouver pour que le code sois "visible" sinon sa donnais un truc incompréhensible (ou en tout cas pas très lisible. jespere que vous arriverez a voir
Probleme pausé peut-etre probleme sera résolu ( passe par ici mortalino ^^ stp)
BrianLux
Messages postés24Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention 2 septembre 2008 14 juil. 2008 à 10:47
J'ai trouvé le programme je suis tout content voilà c'est tout j'ai encore quelque petit bug à géré mais sa devrait le faire héhé bonne journée à tous (elle commence bien pour moi ;) )
BrianLux
Messages postés24Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention 2 septembre 2008 10 juil. 2008 à 11:44
ouais sa pourrait le faire le prob c'est que je ne sais pas fusionner ou plutot je ne vois pas comment faire pour les fusionner mais toute idée est bonne a prendre et a essayer merci de m'aiguiller parce que j'y vois plu rien dans se foutu machin
Vous n’avez pas trouvé la réponse que vous recherchez ?
BrianLux
Messages postés24Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention 2 septembre 2008 10 juil. 2008 à 13:42
Je pense avoir trouver une piste concernant cette macro :
début du programme :
selectionner monalisa
ensuite selectionner le flightnumbers et le chercher dans gabriel si il existe
si il existe chercher la date
si elle existe chercher la route (bien que peut nécéssaire puisqu'avec le flight numbers et la date j'aurais toute les informations mais bon vaut mieux prévoir )
si elle existe chercher Aéroport de départ et ainsi de suite jusque l'aéeroport d'arrivé
une fois avoir effectué cette manoeuvre je saurais si le vol est sur les deux feuilles si il y est je copie sinn ( a voir cette partie je n'y est pas encore réfléchi)
Il risque d'etre hyper long ce programme. je vous pose la question a vous suis-je sur la bonne voie?? et si oui m'aiguiller un peu je connais VBA depuis une semaine alors je suis limiter avec le vocabulaire a utiliser et les manoeuvres a effectuer. je vous remercie d'avance vous contribuer a mon apprentissage.
BrianLux
Messages postés24Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention 2 septembre 2008 10 juil. 2008 à 15:23
après plusieurs recherche et mes anciens programmes effectuer j'ai trouver cette macro qui marche assez je vous la préente:
Sub Recherche2()
Worksheets("MONALISA").Select
Dim x As Range
strChaine = "FlightNumbers"
Set x = ActiveSheet.Columns(1).Cells.Find(what:=strChaine)
y = x.Address
Range(y).Select
Selection.Copy
Sheets("result").Cells(1, 1).Select
ActiveSheet.Paste
End Sub
bien sur sa marche mais il faut précisé le nom j'ai essayer d'affecté une variable ou du moins je lui est dis de chercher la valeur qu'il y avait dans la cellule (afin de conduire a une boucle) :
Sub Recherche2()
numLigne = 14
Dim x As Range
strChaine = Worksheets("MONALISA").Range("A" & Mid(Str(numLigne), 2)).Value Set x = ActiveSheet.Columns(1).Cells.Find(what:=strChaine)
y = x.Address
Range(y).Select
Selection.Copy
Sheets("result").Cells(1, 1).Select
ActiveSheet.Paste
End Sub
Et sa me dit quel peut pas avoir l'adresse d'un truc variant ou un truc du genre si quelqu'un peut donner un coup de pouce pour chercher puis pour coller (de tel facon que je puisse faire une boucle par la suite)