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 :

tri de noms avec données


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 9
    Points
    9
    Par défaut tri de noms avec données
    bonjour tout le monde;

    Svp j'ai besoin de votre aide sur un point qui me bloque, j'ai deux fichier A et B qui contiennenet les noms de mes clients, le fichier A est le mien est le fichier B est celui que je reçoit des RH chaque mois; le problem c'est que les RH changent de noms (rajoutent suppriment) toujours sans prévenir. au début je fesais à le travail à la main avec 20 noms de clients ça allait, mais maintenant ils me balancent des 100 de noms qui changent toujours, j'aimerais bien être à la mesure de détecter les noms même s'ils changent leur ordre et savoir quand ils rajoutent ou suppriment. sachant qu'ils des colonnes de données à la droite.

    j'avais pensé à faire un bouton alerte avec une macros pour dire s'ils rajoutent ou suppriment, mais le souci c'est que ça va juste dire si le nombre de lignes est le même ou pas mais je ne saurais pas c'est quoi le changement.

    merci d'avance pour vos idées.

    très bonne journée.

  2. #2
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 905
    Points : 87 549
    Points
    87 549
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Si on suppose que tes 2 listes de noms sont sur une même feuille, tu peux utiliser la fonction RECHERCHEV pour trouver les noms de la colonne RH qui sont dans ta colonne, les autres seront donc les noms ajoutés, et une autre RechercheV pour trouver les noms de ta colonne qui sont dans la colonne RH et les autres seront les noms supprimés.
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  3. #3
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub NombreDeClients()
          Dim NbClients as Integer, NbClientsRH as Integer
     
          Worksheets("Feuil1").Activate
          NbClients = Range("A1", Range("A1").End(xlDown)).Rows.Count
     
          Worksheets("Feuil2").Activate
          NbClientsRH = Range("A1", Range("A1").End(xlDown)).Rows.Count
     
          If  NbClients <> NbClientsRH Then MsgBox("Nombre de Clients Différents")
    End Sub
    Ceci va te permettre de compter le nombre de ligne remplie de la colonne A pour la feuil1 et la feuil2 d'un même classeur.
    Ensuite si le nombre de ligne (et donc de clients) est différent, cela va t'afficher un message.

    Tu pourrais ensuite utiliser l'enregistreur de macro pour faire un tri par ordre alphabétique, et effectuer ensuite une comparaison nom par nom

    J'espère que ça t'aidera et te donnera quelques pistes

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 9
    Points
    9
    Par défaut
    Rebonjour,


    je vous remercie pour les messages et les idées, j'utilise maintenant les recherche V qui relie mon fichier avec le fichier RH, donc les feuilles de données ne sont pas sur le même classeur, mon idée est de faire un code qui va relier les deux fichiers (au lieu de formules), qui fait la comparaison des données est qui retourne des couleur s'il trouve un changement.

    GoFio je vais essayer ton code et je te dirais le résultat.

    Merci d'avance

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 9
    Points
    9
    Par défaut
    salut tout le monde,

    alors GoFio j'ai essayé ton code en l'adaptant à ce que j'ai crée, alors j'ai fait deux classeurs tests, le premier ou il ya la macro j'ai de la cellule B4 à B10 les lettres de A à H dans la feuille Sheet 3 et le deuxieme il ya les lettres de D6 à D20 dans la feuille data1, voilà le code que j'ai fait mais j'ai un beug.
    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
    Sub NombreDeClients()
          Dim NbClients As Integer, NbClientsRH As Integer
     
          Workbooks("doss RH").Activate
     
     
          Worksheets("Sheet3").Activate
     
          NbClients = Range("B4", Range("B10").End(xlDown)).Rows.Count
     
          Workbooks("Bookmacro").Activate
          Worksheets("data1").Activate
     
          NbClientsRH = Range("D6", Range("D20").End(xlDown)).Rows.Count
     
          If NbClients <> NbClientsRH Then MsgBox ("Nombre de Clients Différents")
    End Sub


    est ce que à la place du msgbox, on peux mettre une couleur par exemple...

    dans l'attente de vous lire. merci d'avance
    merci

  6. #6
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut
    Re,

    Où ça beug ?
    Je vois ça qui pourrait poser problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NbClients = Range("B4", Range("B10").End(xlDown)).Rows.Count
    Si tu commences "B4", il faut terminer pa "B4"
    En fait Range te permet de sélectionner une plage de données.

    Je ne suis pas expert en VBA mais je sais qu'il faut remettre B4
    En gros il sélectionne B4, puis à partir de B4 il passe d'une ligne à l'autre jusqu'à ce qu'il rencontre une cellule vide.
    Et toi tu lui dis sélectionne B4 puis à partir de B10 balaye les lignes jusqu'à trouver une cellule vide.
    D'après ce que tu as écris c'est B10 ta dernière ligne non vide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NbClients = Range("B4", Range("B4").End(xlDown)).Rows.Count
    Si tu écris ça, il va aller tout seul de B4 à B10 et te renverra la valeur 6.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 25
    Points : 9
    Points
    9
    Par défaut
    salut,

    merci pour ta réponse, je suis désolée mais ça beug encore j'ai une ligne jaune à la troisième ligne du code , je déposerais les deux fichier ce soir sur le forum pour que ça soit plus clair.

    merci pour tous

  8. #8
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 905
    Points : 87 549
    Points
    87 549
    Billets dans le blog
    2
    Par défaut
    Salut à tous,
    Je crois qu'il y a un problème au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          NbClientsRH = Range("A1", Range("A1").End(xlDown)).Rows.Count
    je crois que ça devrait être plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbClientsRH = Range("A1:" & Range("A1").End(xlDown)).Rows.Count
    Range("A1").End(xlDown) renvoie un résultat de type Range, par exemple "A10", donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          NbClientsRH = Range("A1", Range("A1").End(xlDown)).Rows.Count
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          NbClientsRH = Range("A1", "A10").Rows.Count
    l'argument de Range ne sera donc pas valide ici , il manque les : et &
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

Discussions similaires

  1. Tri sur blocs de données avec AWK
    Par adelphine dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 17/01/2011, 14h48
  2. [MySQL] tri de colonne dynamique avec données sql
    Par Kiwix dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 02/10/2009, 09h20
  3. Réponses: 3
    Dernier message: 07/09/2007, 15h29
  4. liste déroulante avec données mysql
    Par fab44 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/02/2005, 19h45
  5. [jsp] dessin static avec données dynamique dessus
    Par njac dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 01/07/2004, 16h24

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