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 :

Macro pour compter combien de valeurs différentes sur une ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club

    Homme Profil pro
    apprenti
    Inscrit en
    Janvier 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 3
    Billets dans le blog
    1
    Par défaut Macro pour compter combien de valeurs différentes sur une ligne
    Bonjour

    je souhaite développer une macro pour calculer le nombre de valeurs différentes dans une ligne

    Par exemple: sur une ligne on a : 3 6 3 4 3 5 => nombre de valeurs différentes : 4

    Est-ce que vous pouvez m'aider ?

    Merci!

  2. #2
    Membre chevronné
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Par défaut
    Bonsoir,
    en regardant les algoritmes possibles, il semble que le plus simple est de trier les nombres puis de compter chaque fois que le nombre suivant est différent ; j'ai fait un essai de compte de cette façon :

    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
    Sub compte()
    Dim cel As Integer
    Dim n As Integer, i As Integer
     
    n = 1   'au moins 1
     
    'dernière valeur en ligne depuis A2
    If Cells(2, 2) <> "" Then der = Range("A2").End(xlToRight).Column Else der = 1 'si un seul nombre
     
    'tri des nombres
        With Feuil1.Sort
            .SetRange Range(Cells(2, 1), Cells(2, der))
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlLeftToRight
            .SortMethod = xlPinYin
            .Apply
        End With
     
    'compte
    If der > 1 Then
        For i = 2 To der
            If Cells(2, i - 1).Value <> Cells(2, i) Then n = n + 1 'compte si différent
        Next i
    End If
    If Cells(2, 1) = "" Then n = 0 'si ligne vide
    Cells(3, 2) = n
    End Sub
    bonne soirée

    geogeo70

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    ici des méthodes par formule Excel : http://silkyroad.developpez.com/exce...lons/#LIII-A-2

    ici un billet de blog de Philippe Tulliez pour manipuler les formules par VBA : http://www.developpez.net/forums/blo...procedure-vba/

    si tu as des soucis, n'hésite pas.

    il est aussi possible de manipuler les formules Excel qui se calculent directement dans la procédure (pas d'écriture de la formule dans une cellule) : regarde l'aide en ligne concernant Application.WorkSheetFunction

Discussions similaires

  1. [XL-2010] Impression sur nouvelle page pour chaque valeur différente d'une colonne
    Par matthieu.rolland dans le forum Excel
    Réponses: 3
    Dernier message: 02/02/2015, 16h54
  2. Réponses: 2
    Dernier message: 27/06/2014, 10h54
  3. [XL-2007] compter les cellules non vides sur une ligne
    Par tyndare36 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/02/2014, 11h30
  4. [XL-2007] MACRO pour compter le nombre des fichiers sur le serveur FTP
    Par kinkichin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/07/2011, 18h09
  5. [AC-2000] Création d'une requête pour compter le nombre de ok dans une ligne
    Par yassine06 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/05/2010, 16h10

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