IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]Prise en compte ligne suivant condtition multiple


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Par défaut [VBA-E]Prise en compte ligne suivant condtition multiple
    Bonjour

    Bon dernière question je l'espère.

    Bon j'ai calculer ma liste d'avion en conflit, je doit maintenant effectuer un tri sur celle si, ne prendre que les éléments réellement en conflit à un temps donnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    n_cot	time	flight1	flight2
    1	29282	BAG42V	GWI284
    2	29582	SAS1592	DAT72E
    3	29738	HLX3122	UAL740
    4	29924	DLH4AF	DLH3PR
    ma feuille4 qui contient la liste des avions en conflits 2 à 2, et le moment ou ils sont en conflits

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    0,018268489	DLH4AF	GWI284			1	28818
    0,010635191	DLH4AF	UAL740			1	28818
    0,018237496	DLH4AF	GWI284			1	28824
    0,010691347	DLH4AF	UAL740			1	28824
    0,018206545	DLH4AF	GWI284			1	28830
    0,010598958	DLH4AF	UAL740			1	28847
    0,018081827	DLH4AF	GWI284			1	28853
    0,010480541	DLH4AF	UAL740			1	28853
    ...
    ma feuille Result
    ou mes calculs sont mis, et ou je odit trié mes éléments.
    Vous me direz, simple, on prend le premier nom..., mais non, sa marche pas

    Il faut conserver les lignes qui ont les meme série d'avions que sur la feuille4
    et conserver les lignes dui on un valeur de temps en feuille Result, compris entre Time et Time-1200, de la feuille4
    bien sur en corélation avec la série d'avion correspondante

    Merci

  2. #2
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Bonjour,

    Qu'est-ce que tu as fait pour le moment ? On a besoin de code pour t'aider, on est pas là pour faire ton travail à ta place ...

    A+ avec du code

    Théo

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Par défaut
    Pour l'instant, je n'est pas le code de cette parti, c'est plutot une idée que je recherche

    Je suis parti sur une double boucle
    Qui tourne autour de mes élément de ma feuille4, et qui compare si j'ai les 2 valeurs identiques, si oui, je copie la ligne sur une autre page
    j'utilise alors derlig, pour déterminer la dernière ligne et je copie a derlig+1
    je passe au autre valeur
    ...

    Sa devrais fonctionner je pense

    Si quelqu'un a une autre idée, je suis prenneur

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Par défaut
    J'ai réussi a faire un code qui tien la route, mais je pense trop long pour etre mis sur le forum

    Par contre j'ai un problème lors de l'exploitation des résultats

    Je compte mes avions différents après avoir effectuer un tri et effacer les doublons, mais quand il ni as pas d'avion sur ma page, erreur, il me renvoi 1
    alors que je devrais avoir 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Nb a/c par tranche sur C-P
    Dim derlignea As Long
    Dim derligneb As Long
    Dim derlignec As Long
     
    derlignea = wZ.Cells(65536, 1).End(xlUp).Row
    derligneb = wZ.Cells(65536, 2).End(xlUp).Row
    derlignec = wZ.Cells(65536, 3).End(xlUp).Row
     
        DE.Cells(t + 1, 3).Value = derlignea
        DE.Cells(t + 1, 4).Value = derligneb
        DE.Cells(t + 1, 5).Value = derlignec
    Que faire pour obtenir 0 si pas de valeur
    il faut que je mette quoi, que je verifie que derlignea soit "" ?

    Merci

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Par défaut
    Sinon, je pense que dire que 1 = 0 sur ma page de résulats, c'est possible
    MAis le code????? reste un mystère pour moi

    Une boucle sur me feuille, et si valeur =1 je met 0

    c'est sa

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 92
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        DE.Cells(t + 1, 3).Value = derlignea
        If DE.Cells(t + 1, 3).Value = 1 Then
            DE.Cells(t + 1, 3).Value = 0
        End If
    petite modif du code est sa roule

    J'ai fini se foutu boulot pour la NASA

    Qui c'est les meilleurs, les frenchi, on a encore montré a ses foutu ricains qui sont les meilleurs.




    vive le france

    Merci a tous les membres du Forum, pour leurs aides

    Meci

  7. #7
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut
    sinon tu pe te pencher sur la fonction find et dès des que tu trouve un 1 tu met 0.
    et pour ne pas te tromper dans le cas ou tu aurais des 1 qu'il ne faut pas effacer tu pourrais faire une condition avant de remplacer le 1

    genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'lance ton find
     
    'selectionne la case qu'il a trouvé
     
    'remplace le 1
    if (condition pour ne pas effacer des 1 important) then
          selection.value=0
    end if
    mais il me semble qu'avec un find tu pe remplacer directement en plus de trouver

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/04/2007, 14h38
  2. EXCEL : non prise en compte des lignes >51
    Par h_mag_14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/11/2006, 22h56
  3. [VBA-A] valeur non prise en compte par un composant
    Par robert_trudel dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/07/2006, 22h25
  4. VBA EXCEL - Sélection d'une ligne suivant saisie
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 48
    Dernier message: 15/11/2005, 17h41
  5. Lecture de fichier - dernière ligne non prise en compte
    Par JulienPles dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo