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 :

problème de tri


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Par défaut problème de tri
    bonjour,
    apres deux jours de recherche sur les forums et une nuit blanche a essayer de comprendre, je sèche.

    apres un test de presence du champ NomPrenom, si présence je passe la routine sinon j'ecris les données dans la feuille clients

    quelqu'un peut il m'expliquer pourquoi le code joint fonctionne mais que si je fait appel a sub TriAlpha cela ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    ' test pour eviter les doublons dans onglet "Clients"
     
     
    Dim Cellule As Range
    Dim TestNomPrenom As String
     
    TestNomPrenom = TextBox2Nom.Value + TextBox3Prenom.Value
     
    With Worksheets("Clients").Range("K3:K65536")
        Set Cellule = .Find(TestNomPrenom, Lookat:=xlWhole)
        If Cellule Is Nothing Then
            'MsgBox ("pas trouvé")
            Call EntreeClient
            Range("B3:K3000").Sort Key1:=Range("B3"), Order1:=xlAscending, Key2:=Range("C3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
     
        End If
    End With
     
    'Fermeture de la UserForm  les choix et les diffrentes saisies sont perdues effacées
    Unload UserForm1
     
    ' appel procedure de tri de la feuille "Clients"
    'Call TriAlpha
     
    ' affichage onglet Acceuil
    Worksheets("Acceuil").Select
     
    End Sub
    Sub TriAlpha()
     
    With Worksheets("Clients")
     
        Range("B3:K3000").Sort Key1:=Range("B3"), Order1:=xlAscending, Key2:=Range("C3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
     
    End With
     
    End Sub
    merci pour vos eclaircissements

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    j'ai pas relu tout le code mais lorsque tu utilise with ..:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets("Clients")
    ensuite toutes les variables qui doivent avoir ce "with" comme racine doit commencer par un point .
    donc tous les range de ton tri :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("B3:K3000").Sort Ke.....

  3. #3
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Par défaut
    bonjour et merci pour la reponse
    mais cela ne fonctionne toujours pas quand je fais appel a la Sub TriAlpha
    je continu a chercher de mon coté
    merci pour vos futures réponses

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par arthur83fr Voir le message
    ...mais cela ne fonctionne toujours pas quand je fais appel a la Sub TriAlpha...
    et "cela" veut dire quoi ?

  5. #5
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Par défaut
    bonjour,

    alors la ligne 14 je la passe en commentaire
    j'active le call TriAlpha
    je lance le masque de saisie, je le valide et la cela m'inscrit les données dans la feuilles "Clients" mais sans les trier en alphabetique

    si ligne 14 active et call TriAlpha en commetaire cela fonctionne : il y a bien tri alphabetique dans feuille "clients" apres ajout des données.


    j'ajoute que j'ai bien mis des . devant chaque Range

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    désolé je comprends toujours pas


    pour ta ligne 14 tu as oublié de préciser sur quel classeur et sur quelle feuille devait agir ton tri ... Pour éviter les erreurs il faut toujours préfixer les "range.." par le classeur et la feuille concernée... (un with peu aider à faire cela ..)

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Encore une fois,le with en ligne 15 ne sert à rien si tu ne rajoute pas des points "." pour définir l'endroit ou celui-ci doit agir :

    Citation Envoyé par bbil Voir le message
    j'ai pas relu tout le code mais lorsque tu utilise with ..:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets("Clients")
    ensuite toutes les variables qui doivent avoir ce "with" comme racine doit commencer par un point .
    donc tous les range de ton tri :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("B3:K3000").Sort Ke.....

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

Discussions similaires

  1. [MySQL] Problème de tri
    Par pounie dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/10/2005, 13h09
  2. Problème de tri avec analyse croisée
    Par drthodt dans le forum Access
    Réponses: 2
    Dernier message: 18/10/2005, 16h23
  3. [TToolBar] Problème de tri
    Par titiyo dans le forum Composants VCL
    Réponses: 6
    Dernier message: 01/09/2004, 09h21
  4. [Collections] Problème de tri
    Par feti2004 dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 03/08/2004, 16h45
  5. problème de tri et optimisatiopn
    Par psyco2604 dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 13/05/2004, 10h44

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