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 :

Traiter une très longue liste d'informations


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Août 2018
    Messages : 13
    Par défaut Traiter une très longue liste d'informations
    Bonjour à tous !

    Je vous sollicite aujourd'hui pour avoir des renseignements sur le traitement d'une très longue liste d'information !

    J'ai une longue liste de références (1400 lignes) et je voudrais compter le nombre de fois qu'une référence est répétée dans la liste, je sais que la fonction NB.SI le permet mais si je dois rentrer à chaque fois les réfs dans la formule ça risque d'être long !

    N'existe-t-il pas un moyen de compter automatiquement le nombre de fois qu'une réf est répétée dans une liste?

    Merci à vous,

    Très bonne journée

    Berjondu69

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    si les données sont en colonne A et le résultat en colonne B
    adaptez et essayez avec :
    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
    Sub rechercher()
     
    Dim plage As Range
    Dim i As Long
    Dim Valrech As String
    Application.ScreenUpdating = False
    With Sheets("feuil1") 'à adapter si nom onglet différent
    i = .Range("A" & Rows.Count).End(xlUp).Row
    Set plage = .Range("A2:A" & i)
     
    For Each cel In plage
    Valrech = cel.Value
    c = WorksheetFunction.CountIf(plage, Valrech)
    Cells(cel.Row, 2) = c
    Next cel
    End With
    Application.ScreenUpdating = True
    End Sub

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour à tous

    En quelques clics un TCD fait cela...

    Si tu met ta source sous forme de tableau, il suffit de créer le TCD sur le tableau et à chaque actualisation du TCD il suivra l'évolution de la source (ajout ou modification)

    Pourquoi réinventer la roue par VBA ?

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour
    aurais tu une colonne dispo par hasard dans ton sheets ou se trouve ta colonne de données??
    si oui exemple
    mes données sont en colonne "A" et je met toute les formules en meme temps dans le offset(0,1)(colonne "B") de la plage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub test()
        Dim AdressRC
        With Range("A1:A12")    'adapter ta plage colonne
            AdressRC = "R" & .Cells(1).Row & "C" & .Column & ":" & "R" & .Cells(1).Row + .Cells.Count - 1 & "C" & .Column
            .Offset(0, 1).FormulaR1C1 = "=COUNTIF(" & AdressRC & ",RC[-1])"
        End With
    End Sub
    1 milieme de seconde et voila tu a tes countif
    l'adress rc de reference s'adapte dans la formule avec AdressRC
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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