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

Excel Discussion :

Suppression doublons + comptage avec mise en forme [XL-2007]


Sujet :

Excel

  1. #1
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut Suppression doublons + comptage avec mise en forme
    Bonjour,

    Je tiens a prévenir j'ai poster ce sujet sur un autre forum il y a trois jours sans aucune réponse. C'est pour ça que je me dirige vers vous afin de savoir si il y a des gens pouvant m'aider !

    Voici mon problème :

    Je récupère 5 liste de défaut robot que je place dans 5 feuille nommé
    - BRUT_ROB
    - BRUT_ROB2
    - BRUT_ROB3
    - BRUT_ROB4
    - BRUT_ROB5

    Dans celle ci j'ai déjà effectuer un déplacement des colonnes, une suppression de libellé qui ne me sert a rien.
    Ce qu'il me manque et que je n'arrive pas a faire :

    - Supprimer les doublons ( Même heure)
    - Trié les données sur 7 jour( Colonne E )
    - Compter les libellés qui apparaissent plusieurs fois pour la même appartenance et placer ce nombre dans la colonne Nbs avec la dernière date d’apparition de ce libellé
    - Supprimer les libellé plus vieux pour ne garder que celui avec le nombre


    La fonction que j'ai déjà faite se trouve dans le module 2 et la fonction se nomme BRUT.
    Je vous joint la fichier en lien car le fichier est trop gros :
    http://sendbox.fr/pro/28y5v0rexywj/N...sion.xlsm.html

    Merci d'avance pour l'aide

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Meranto Voir le message
    - Supprimer les doublons ( Même heure)
    Tu fais une double boucle : une boucle qui scrute chaque ligne et une boucle à l'intérieur qui, pour chaque ligne scrutée, va rechercher les équivalents dans les lignes du dessous (de préférence en commençant par la dernière, c'est plus simple quand on fait des suppressions).

    - Trié les données sur 7 jour( Colonne E )
    Je ne comprends pas ce que tu veux dire par "sur 7 jours" mais pour trier, tu peux utiliser la méthode Sort de l'objet Range.

    Pour le reste, comme il n'est pas possible de comprendre la question sans ouvrir le fichier, je passe mon tour.

  3. #3
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Quand je dis sur 7jour c'est que je veux garder que les données sur 1 semaine depuis la date du jour même.
    J'ai des données qui date de 2010 et celle qui m'intéresse sont celle de la semaine en cours ^^

  4. #4
    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,

    en gros tu souhaites effectuer un nettoyage et une complément d'informations d'une extraction, mais l'extraction provient d'où ? Un autre fichier excel, un autre logiciel ?

    n'est pas possible de filtrer et trier en amont ? ainsi que d'effectuer les calculs souhaités ?

    pour nettoyer ça déjà, voici des outils intuitifs sur Excel, que l'enregistreur de macro te permettra d'automatiser (en retravaillant quand même le code en fonction de tes souhaits) ... mais quelle est ta version Excel ? Si au moins 2007

    option "supprimer les doublons" de l'onglet "Données"
    option "filtre automatique" de l'onglet "Données"


    ces deux méthodes peuvent très bien s'effectuer en une fois grâce aux filtres avancés : http://philippetulliez.developpez.co...dvancedfilter/


    pour le reste, écrire une formule Excel qui fonctionne, et l'utiliser en VBA : http://www.developpez.net/forums/blo...re-vba-part-2/

    si besoin, seuls les résultats pourront être écrit en lieu et place des formules...mais nous n'en sommes pas encore là

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Meranto Voir le message
    Quand je dis sur 7jour c'est que je veux garder que les données sur 1 semaine depuis la date du jour même.
    J'ai des données qui date de 2010 et celle qui m'intéresse sont celle de la semaine en cours ^^
    Dans ce cas, comme je le disais dans mon message précédent, tu fais un tri avec un Sort sur le Range de tes données, tu repères la première ligne qui dépasse la date voulue avec un Find et tu supprimes la zone de toutes les lignes au-dela avec un Delete sur les Rows concernées.

  6. #6
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Bonjour,

    L'extraction provient de fichier .dat qui sont crée a l'aide d'un batch préalablement éxécuter.
    Ensuite j'extrait le fichier .dat et je les range dans ma feuille pour avoir quelque chose d'ordonnée !

    Il n'est malheureusement pas possible de trier les donner a l'avance :/

    Ma version est 2007 et effectivement j'ai utiliser ces outils, cependant je souhaite ça en automatique avec ma macro pour qu'a chaque ouverture du fichire avec les nouvelles donnée cela se fasse.

    Quant aux dates j'ai essayer quelque chose qui n'est pas très concluant mais qui pourtant devrais fonctionner si je ne dit pas de bétise... Quand je l'exécute celui ci me supprimer toute les données et non pas que les données sur 1 semaine.

    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
     
     
    Sheets("BRUT_ROB").Select
    Cells(7,3).Value=Date
    Cells(8,3).Value=Date-1
    Cells(9,3).Value=Date-2
    Cells(10,3).Value=Date-3
    Cells(11,3).Value=Date-4
    Cells(12,3).Value=Date-5
    Cells(13,3).Value=Date-6
    Cells(14,3).Value=Date-7
     
     
    Nbr_date = (Sheets("Feuil1").Range("C65536").End(xlUp).Row - 6) 'Ca permet de connaitre le nombre de date
        NbrLigne = ActiveSheet.Range("A65536").End(xlUp).Row ' Calculer le nombre de ligne de la feuille en cours
        i = 2
        Do While i <= NbrLigne
            Trouve = False
            'chercher si la date fait partie de l'installation traité par cette macro
            For j = 1 To Nbr_date
                NomAPI = Sheets("Feuil1").Range("C" & (j + 6)).Value
                If Cells(i, 5) = Semaine_Date Then
                  Trouve = True
                  Exit For ' pour sortir de la boucle j
                End If
             Next j
     
                If Trouve = False Then     'pour supprimer les messages qui concernent pas l'installation traitée par cette macro
                    Sheets("BRUT_ROB").Select
                    Rows(i).EntireRow.Delete
     
                    i = i - 1
                    NbrLigne = ActiveSheet.Range("C65536").End(xlUp).Row ' Calculer le nombre de ligne de la feuille en cours
                End If
            i = i + 1
        Loop
        '- - - - - - - -- - - - - - - - - - -
    Merci pour l'aide

    PS: J'ai poster dans la mauvaise section...

  7. #7
    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,

    si le problème n'est pas "comment faire" mais plutôt "comment automatiser ce que je sais faire à la main", je te propose d'utiliser l'enregistreur de macro

    tu t'enregistres en train de faire toutes les manipulations

    tu vas obtenir un code pas optimisé, pas dynamique, un peu indigeste, qu'il faudra retravailler

    reviens avec ce code, et les contributeurs t'aideront à le parfaire

  8. #8
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Bonjour,

    Si je ne me trompe pas, l'enregistreur de macro ne permet pas de faire des itérations ou boucle ?

  9. #9
    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
    il ne fera pas les boucles ... c'est l'une des choses qui doit justement être retravaillé après avoir récupéré le code généré par l'enregistreur, afin que ton code soit réutilisable

    c'est pour ça que j'ai dis que le code est opaque et a retoucher

  10. #10
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Ok ça marche, bah je fais ça alors !

  11. #11
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Bonjour,

    Voila le code qui filtre sur 1 semaine, supprime les doublons, tri mes données et fait un sous total des libellés.
    J'ai bouclé le code pour que cela s'effectue dans mes 5 feuilles.

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    For i = 1 To 5
        nF = Choose(i, "BRUT_ROB", "BRUT_ROB2", "BRUT_ROB3", "BRUT_ROB4", "BRUT_ROB5")
     
     'Filtre sur la date (1 semaine)
        Sheets(nF).Range("$A$1:$E$10000").AutoFilter Field:=5, Operator:= _
            xlFilterValues, Criteria2:=Array(2, "5/27/2015", 2, "5/28/2015", 2, "5/29/2015", 2, _
            "5/30/2015", 2, "6/1/2015", 2, "6/2/2015", 2, "6/3/2015")
     
        'Suppression des doublons
        Sheets(nF).Cells.Select
        Sheets(nF).Range("$A$1:$E$2563").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5) _
            , Header:=xlNo
     
         'Tri pour avoir des données ordonnées
            ActiveWorkbook.Worksheets(nF).AutoFilter.Sort.SortFields.Clear
        ActiveWorkbook.Worksheets(nF).AutoFilter.Sort.SortFields.Add Key:= _
            Range("C1:C1933"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
            :=xlSortNormal
        With ActiveWorkbook.Worksheets(nF).AutoFilter.Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        ActiveWorkbook.Worksheets(nF).AutoFilter.Sort.SortFields.Clear
        ActiveWorkbook.Worksheets(nF).AutoFilter.Sort.SortFields.Add Key:= _
            Range("A1:A1933"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
            :=xlSortNormal
        With ActiveWorkbook.Worksheets(nF).AutoFilter.Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
     
        Application.DisplayAlerts = False 'Désactive les fenêtres d'alerte
        'Création des sous totaux
     
        Sheets(nF).Columns("C:C").Subtotal _
        GroupBy:=1, Function:=xlCount, TotalList:=Array(1), _
            Replace:=True, PageBreaks:=False, SummaryBelowData:=True
        Sheets(nF).Columns("C:C").Delete Shift:=xlToLeft
    Next i
    Problème :
    - Mon filtre sur la date. Effectivement le filtre est le bon mais que pour aujourd'hui, demain ça ne fonctionnera plus comme je le veux.
    - Les sous totaux, je veux récupéré la valeur de la case, cependant c'est une formule, comment faire ?

    Ensuite il me reste des manipulations qui ne se fait que par programmation ( je pense ) et dont je n'ai aucune idée de comment faire :
    - Copier/Coller la valeur du sous total a côté du premier libellé dans la colonne C (Nbs) pour chaque libellé ( J'ai vu une formule qui prend que la valeur de la case : CNUM )
    - Supprimer le reste des lignes pour chaque case vide dans la colonne ayant les nombres ( je sais pas si c'est compréhensible )

    L'image ci dessous correspond a ce qui doit être déplacer(Flèche rouge) et supprimer (Fond gris)

    Nom : explic.JPG
Affichages : 960
Taille : 72,1 Ko

    Voilà le résultat souhaiter :

    Nom : res.JPG
Affichages : 926
Taille : 45,9 Ko



    Merci pour l'aide.

  12. #12
    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,

    je pense que tu t'y prend mal

    il vaut mieux importer les données des 7 dernières jours de l'ensemble des feuilles vers une feuille de synthèse

    et ensuite retravailler tes données sur place

    est-il possible de consulter ton fichier (ou une copie avec des données non confidentielles)
    deux feuilles suffisent (pas besoin de 5), avec une feuille de synthèse déjà faite pour que j'ai un modèle final

  13. #13
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Bonjour,

    Tu dois surement avoir raison... :/

    Cependant je n'ai pas sous la main le fichier de donnée de base. Mais j'ai celle que j'ai mis en screen.

    Je te l'envoie aujourd'hui, demain je t'envoie la feuille de base que j'extrait.

    Voila le fichier ( il est sous lien car il est trop lourd ) :
    http://sendbox.fr/pro/m7t7mzv0hg07/N...sion.xlsm.html

    Merci énormément de ton aide !

  14. #14
    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
    je vais attendre un fichier plus exploitable : 2 feuilles robot minimum (brutes sans aucune retouche manuelle) et une feuille de synthèse avec le résultat voulu

    je me suis brûlé les rétines en regardant tes macros dans les modules standards

  15. #15
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Bonjour,

    Je pense que par minimum tu souhaitait dire maximum mais j'ai quand même fait les deux version, l'une avec 2Feuille l'autre avec les 5.

    Avec 5 :

    http://sendbox.fr/pro/qo17b6x7ob39/N..._v5f.xlsm.html

    Avec 2 :

    http://sendbox.fr/pro/mxoe7c3evmjo/N..._v2f.xlsm.html

    Je pense bien... Hum x)

    Merci pour l'aide en tout cas !

  16. #16
    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,

    voici une proposition qui fonctionne sur ton fichier v5f (avec les 5 feuilles de robots)

    je me suis entièrement inspiré de la structure du fichier (comme je l'avais dis), à savoir en particulier:

    - en feuil1, la cellule C14 contient la date la plus ancienne à retenir
    - il n'y a pas d'en-tête dans tes feuilles de base de données, qui commencent à la ligne 2
    - j'ai uniquement renommé la première feuille de robot, pour avoir des "BRUT_ROB" avec un numéro allant de 1 à 5 (BRUT_ROB1 / BRUT_ROB2 etc...)

    tout est annoté dans le code
    le résultat : 5 feuilles "Synthèse_ROBx", une pour chaque Robot

    Outils utilisés, entre autre :

    - Plage Nommée
    - Filtre Avancé
    - RemoveDuplicates
    - .Formula sur la plage : =NB.SI.ENS


    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    Sub MesRobots()
    Dim Sh As Worksheet
    Dim DerLig As Long
    Dim i As Long
     
    Application.ScreenUpdating = False
     
    With ThisWorkbook
        For i = 1 To 5
     
            ' nettoyage de plage nommée et de feuille de destination
            On Error Resume Next
            .Names("PLAGE").Delete
            .Worksheets("Synthèse_ROB" & i).Delete
            On Error GoTo 0
     
            ' création des étiquettes dans la base de données
            With .Worksheets("BRUT_ROB" & i)
                .Range("A1") = "Appartenance"
                .Range("B1") = "Date - Heure dernière défaut"
                .Range("C1") = "FILTRE"
                .Range("D1") = "Libellé des défauts"
                .Range("E1") = "FILTREbis"
            End With
     
            ' création de la plage des données
            .Names.Add Name:="PLAGE", RefersTo:=.Worksheets("BRUT_ROB" & i).UsedRange
     
            ' préparation de la feuille de synthèse
            Set Sh = Worksheets.Add
            With Sh
                ' nom
                .Name = "Synthèse_ROB" & i
     
                ' critère du filtre
                .Range("A1") = "Date - Heure dernière défaut"
                .Range("A2") = ">=" & CLng(Sheets("Feuil1").Range("C14").Value)
     
                ' étiquettes des données
                .Range("A4") = "Appartenance"
                .Range("B4") = "Libellé des défauts"
                .Range("C4") = "Date - Heure dernière défaut"
     
                ' récupération des 7 derniers jours
                Range("PLAGE").AdvancedFilter _
                                Action:=xlFilterCopy, _
                                CriteriaRange:=.Range("A1:A2"), _
                                CopyToRange:=.Range("A4:C4")
     
                ' nettoyage de la zone de filtre
                .Range(.Rows(1), .Rows(3)).Delete
     
                ' insertion de la colonne "Nb"
                .Columns(2).Insert
                .Cells(1, 2) = "Nb"
                DerLig = .Cells(.Rows.Count, 1).End(xlUp).Row
     
                ' calcul des quantités
                With .Range(.Cells(2, 2), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 2))
                    .Formula = "=COUNTIFS($A$2:$A$" & DerLig & ",A2,$C$2:$C$" & DerLig & ",C2)"
                    .Value = .Value
                End With
     
                ' nettoyage des doublons
                .UsedRange.RemoveDuplicates Array(1, 3), xlYes
     
                ' filtre sur les appartenances
                ' et sous filtre sur les défauts
                .Cells(1, 1).AutoFilter
                .Sort.SortFields.Clear
                .Sort.SortFields.Add Columns(1), xlSortOnValues, xlAscending, xlSortNormal
                .Sort.SortFields.Add Columns(3), xlSortOnValues, xlAscending, xlSortNormal
     
                'application du filtre
                With .Sort
                    .SetRange Sh.UsedRange
                    .Header = xlYes
                    .MatchCase = False
                    .Orientation = xlSortColumns
                    .SortMethod = xlPinYin
                    .Apply
                End With
     
                .Columns(4).Insert
            End With
        Next i
    End With
     
    End Sub

  17. #17
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Bonjour,

    Très beau boulot et très synthétique, cependant j'ai un petit soucis, cette ligne me crée une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     With .Worksheets("BRUT_ROB" & i)
    Me disant que l'indice n'appartient pas a la selection pourtant toute mes feuilles BRUT_ROB existe bien !

    Encore merci

  18. #18
    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
    Il y a deux choses à vérifier:

    1) Tu as bien 5 feuilles comme suit :

    - BRUT_ROB1
    - BRUT_ROB2
    - BRUT_ROB3
    - BRUT_ROB4
    - BRUT_ROB5

    2) Est ce que les feuilles sont dans le même classeur que la macro ?
    Si ce n'est pas le cas : remplacer le "With ThisWorkbook" de la ligne 8 par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Workbooks("NomDuClasseur")

  19. #19
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Ca fonctionne très bien, c'etait une erreur de ma part !

    Merci, j'aurais surement une petite demande en plus donc je clos pas le sujet

  20. #20
    Membre averti
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2015
    Messages : 41
    Par défaut
    Bonjour,

    J'ai rajouté deux trois petite chose dont j'avais besoin, cela fonctionne parfaitement.

    Cependant j'ai un petit soucis, quand je lance ma macro il me dit que Excel a rencontré un contenu illisible et me demande si je veux récupéré le contenu du classeur, je suis donc obligé de cliquer sur oui ou non et je n'arrive pas désactiver cette fenêtre d'alerte car elle me gêne.
    En effet cette macro doit être lancé en automatique a l'aide du planificateur windows tout les jours et cela gêne l'exécution. Une idée pour résoudre ça ? :/

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Soucis avec mise en forme conditionnelle
    Par icecube216 dans le forum Access
    Réponses: 4
    Dernier message: 04/09/2006, 17h08
  2. Envoi de mail en VBA Excel avec mise en forme et choix d'expediteur
    Par amalane dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2006, 15h24
  3. Pb avec mise en forme etat
    Par lolo_bob2 dans le forum Access
    Réponses: 1
    Dernier message: 03/07/2006, 12h59
  4. Réponses: 41
    Dernier message: 02/05/2006, 14h17
  5. Form Web avec mise en forme et stockage BdD
    Par jflebegue dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 14/10/2005, 09h32

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