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 :

insertion ligne chronologiquement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut insertion ligne chronologiquement
    Bonjour,
    Je viens solliciter votre aide car je suis en panne^^
    Je souhaite faire un "mini-logiciel" pour récapituler mes comptes.
    Dans un userform, je rentre les valeurs et celles ci s'insèrent à la fin du tableau.
    Ca c'est bon.
    Mon problème est que je souhaite que lorsque j'insère une ligne correspondante à une date passée, celle ci s'insère non pas en fin de tableau mais plutot dans l'ordre chronologique des dates.
    J'espère que je suis clair :p

    Si quelqu'un pourrait m'aider car je suis bloqué

    Merci de votre aide

    Cordialement,

    Pipo
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Ca manque de commentaires le code de ton Userform.

    Je vais te donner une piste. Compare la date contenue dans le Userform avec la date actuelle (donnée par Date), et agis en fonction: si c'est plus grand tu insères à la fin (ça tu as déjà le code). Sinon, tu fais une recherche de la première date supérieure (strictement ou pas: ça dépend si tu veux que ta ligne vienne avant les autres lignes de même date ou après ) à la date saisie, et tu insères ta ligne juste avant cette ligne.

    Voilà, c'est bien posé en français, et maintenant ça doit être facile de traduire ça en langage VBA!

    J'ai toujours dit et affirmé qu'un algorithme écrit en français AVANT de coder permettait de coder beaucoup plus rapidement. Bon bien sûr la plupart du temps je ne l'écris pas (sauf à de rares exceptions pour les scripts complexes), mais j'ai la logique en français dans la tête.

    Si tu cales pas de souci je te fournirai la réponse, mais s'agit que tu cherches un peu quoi!

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Une autre solution serait d'ajouter ta ligne à la fin, de sélectionner les lignes, et de trier les lignes dans l'ordre des dates.

    En réalisant cela avec l'enregistreur de macro, tu devrais avoir la ligne de code adéquate très rapidement, et pour la sélection de l'ensemble des lignes par le code (pour le personnaliser), regarde du coté de la partie contribution, il y en a pleins.

    Philippe

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut
    Bonjour,

    Merci pour vos pistes, je vais chercher un petit peu d'après ce que vous m'avez dit.

    Cordialement,

    Pipo

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut
    Re bonjour,

    Voila voila j'ai essayé de suivre tes conseils.
    J'ai tenté d'écrire quelques choses mais je m'embrouille dans toutes mes boucles.
    De plus j'ai écris plusieurs fois les mêmes lignes de programmes et cela alourdi le tout.

    Si vous pouviez m'aider à me dépatouiller de tout cela.

    Je sais qu'il n'y a pas beaucoup de commentaires dans mon code, désolé.

    Je récapitule mon problème:
    Je souhaite que lorsque j'insère une ligne dans le tableau, cette ligne s'insère à la bonne place dans ce tableau: c'est à dire dans l'ordre des dates.
    La date la plus récente étant en bas du tableau.

    Cordialement

    Pipo
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    J'avais un peu de temps, j'en ai profité pour adapter un peu le code de ton UserForm

    Pièce jointe 36973

    Cdlt

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

Discussions similaires

  1. [VBA-E]Insertion ligne avec Recopie Formule
    Par nono le golfeur dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/01/2007, 14h02
  2. VBA-Excel:Présentation d'un tableau (insertion ligne de légende)
    Par gabrielle_dl dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 15/06/2006, 11h11
  3. [Excel VB] Insertion ligne avec formules
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2005, 16h21
  4. Insertion lignes
    Par Isa31 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/05/2005, 10h32
  5. Pb procedure insertion ligne
    Par richton95 dans le forum Oracle
    Réponses: 3
    Dernier message: 17/03/2005, 21h01

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