Macro

Salut Dan,

alors j'ai fait ce que tu as indiqué mais il me met en erreur ce passage ci désormais:

ActiveSheet.Range("$N$1:$N$10000").RemoveDuplicates Columns:=1, Header:=xlYes

et il m'indique erreur d'exécution '438': propriété ou méthode non gérée par cet objet

merci pour votre aide en tout cas

Re,

C'est aussi une instruction qui n'est pas dispo dans ta version.

  • Que cherches-tu à faire là ?
  • Activesheet correspond à quelle feuille à ce moment là ?

Amicalement

alors là je ne sais pas trop

le niveau me dépasse un peu.

on est sur la feuille sondage à débriefer du fichier de suivi. la colonne N reprend toutes les agences avec un KO dans le résultat de sondage.

je n'en sais pas beaucoup plus...

Re,

Ok bon là je me suis insérer dans le fil d'Yvouille qui a bien suivi le pb depuis le début. Attendons tout de même son passage après tout le travail qu'il a effectué.

De mon coté je regarde également.

Amicalement

Salut Pierre, Salut Dan,

Dan, tu m'as expliqué sur ce fil ou sur un autre fil que les versions antérieures n'avaient pas toutes les possibilités de la version 2007. J'avais déjà remarqué que parfois ça passait de faire références à un autre fichier par Workbooks("Suivi") et que parfois il fallait utiliser Workbooks("Suivi.xls"). Est-ce pour la même raison ?

A propos de ligne ActiveSheet.Range("$N$1:$N$10000").RemoveDuplicates, je veux simplement supprimer les valeurs à double On pourrait contourner le problème en triant cette série de données puis en supprimant la cellule Nx+1 si elle est identique à la cellule Nx.

Comme je ne sais pas combien tu as déjà "regardé de ton coté", je ne veux pas avancer pour avancer. Dis-nous alors où tu en es, s'il-te-plait. Autrement tu peux bien reprendre le flambeau, je ne sais plus si je suis encore très motivé pour ce fil.

Bonnes salutations.

re,

Pour Yvouille,

J'avais déjà remarqué que parfois ça passait de faire références à un autre fichier par Workbooks("Suivi") et que parfois il fallait utiliser Workbooks("Suivi.xls"). Est-ce pour la même raison ?

A vrai dire et n'ayant pas excel 2007, je viens de découvrir par ton post que l'extension d'un fichier n'est pas nécessaire.

Ayant vu que Pedriot utilisait excel 2003, l'instruction a attiré mon attention notamment par cette extension qui était omise. Très intéressant donc ce que tu as fait puisque cela fait découvrir que l'extension n'est pas nécessaire avec excel 2007.

Comme je ne sais pas combien tu as déjà "regardé de ton coté", je ne veux pas avancer pour avancer.

Je n'ai pas eu le temps de regarder et surtout d'analyser ce qui a été fait. Donc pas de souci de ce coté.

Je te laisse continuer mais reste dispo pour tester en cas de besoin

Bien amicalement

Bonjour Pedrito75

Bonjour Yvouille

Bonjour Dan

J'ai regardé un peu ce sujet et comme je ne sais pas faire une macro qui manipulent des fichiers, je me suis inspiré du fichier de Yvouille pour bricoler celle-ci

Je n'avais à ma disposition qu'un fichier Sondage, alors dur pour les tests

A vous de me dire ce qui coince (pour ma formation personnelle)

Bonne nuit

Ps: Ce fichier doit être enregistré dans le même répertoire que les fichiers sondages

Bonjour à Pierre, Dan et Banzai,

Merci Dan pour tes infos.

Banzai, je ne comprends pas grand chose à ton code et ne peux malheureusement pas t'aider

Pierre,

J'ai remplacé dans le fichier ci-joint les passages qui apparemment créent des problèmes avec les versions antérieures à Excel 2007 :

1) Selon les informations échangées avec Dan, j'ai remplacé la référence aux fichiers Workbooks("Suivi") par Workbooks("Suivi.xls"), bien que chez moi, les deux variantes passent et

2) j'ai remplacé la ligne ActiveSheet.Range("$N$1:$N$10000").RemoveDuplicates Columns:=1, Header:=xlYes par un code complètement différent qui ne devrait plus te créer de souci

Comme toujours, afin de pouvoir faire des essais chez toi, tu dois remplacer au préalable la ligne MonRepertoire = "C:\Users\Lacy\Documents\Pierre\" par le chemin de ta bécane.

A nouveau, chez moi ça fonctionne parfaitement.

A te relire.

15suivi.zip (31.82 Ko)

Bonsoir

Serait-il possible d'avoir le(s) fichier(s) "Sondage" que tu vérifies, celui que j'ai (trouvé dans un message précédent) ne comporte pas de cellules fusionnées ni de cellules contenant le mot "Agence"

Merci

Salut Banzai,

Pierre m'avait donné en privé quelques fichiers "Sondage" comme exemple. Je te fournis ci-joint deux fichiers représentatifs sur lesquels j'ai enlevé toutes les données "sensibles", en laissant bien entendu toutes les données nécessaires à répondre à sa demande.

Je te fais quand même remarquer que mon code - même s'il est améliorable - fonctionne parfaitement. Selon moi il ne s'agit plus que d'une question de "réglage" afin qu'il fonctionne aussi chez Pierre. De plus, avec mon code, il n'y a pas de contrainte quant à l'emplacement du fichier "Suivi".

Bonnes salutations.

EDIT : Les deux fichiers fournis ne sont peut être pas tout à fait représentatifs dans ce sens qu'il me semble que le code est sensible à la casse. Dans mon code, j'avais donc prévu que KO puisse être écrit également Ko ou ko.

Bonsoir

Merci pour les fichiers

Pour ton fichier, je suis en 2003, et j'ai des instructions qui ne passent pas lors des tris (souvent le cas)

SortOn:=xlSortOnValues

SortFields

SortMethod

Pour la contrainte (pas important pour le moment (pour moi bien sur))

Je cherche comment lire tous les fichiers dans plusieurs répertoires --Si tu as une idée : Merci

Bonne soirée

Solution de bricoleur : Peut-être en plaçant tous les chemins possibles à ces répertoires à un certain endroit (dans une feuille du fichier de base, dans la macro ?) et en faisant une boucle dans ces différents chemins ?????

Chemin 1 = "C:\Users\Lacy\Documents\Pierre\"

Chemin 2 = "C:\Users\Banzai\"

Chemin 3 = "C:\Users\Lacy\Yvouille\"

For i = 1 to Nombre_de_chemins

MonRepertoire = VARIABLE "Chemin"

Next

Bonne soirée.

Bonjour

Une version

Contrainte d'enregistrer ce fichier dans le même répertoire que les sondages n'a plus lieu d'être, grâce à un internaute d'ici (chb44) que je remercie ici

A tester

Pensez à modifier le chemin dans la macro

Actuellement il y a mon chemin (le plus simple)

En remarque celui d'Yvouille

  MonRepertoire = ThisWorkbook.Path & "\Sondages\"
  'MonRepertoire = "C:\Users\Lacy\Documents\Pierre\"

Bonne nuit

Salut Pierre, Salut Banzai,

Pierre,

J'ai ma "nouvelle" version Excel 2003 à disposition que depuis 25 jours à mon nouveau travail et n'avais pas pensé jusqu'à aujourd'hui - bien que j'avais déjà changé mon profil dans ce sens - que je pouvais aussi tester des fichiers à mon bureau (mais pas trop souvent, je ne suis pas payé pour ça ).

J'ai donc testé mon code sur cette version ce matin et me rends compte que si le tri crée des problèmes, on peut tout à fait le laisser tomber ; la macro effectuera quelques boucles inutiles, mais tant pis.

Efface donc entièrement le passage reproduit ci-dessous :

                        ' En remplacement de "RemoveDuplicates", tri des lignes ......
                        DerLigN = Range("N65536").End(xlUp).Row

                        Range("N1:N" & DerLigN).Select
                        ActiveWorkbook.Worksheets("Sondages à debriefer").Sort.SortFields.Clear
                        ActiveWorkbook.Worksheets("Sondages à debriefer").Sort.SortFields.Add Key:= _
                            Range("N2:N" & DerLigN), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                            xlSortNormal
                        With ActiveWorkbook.Worksheets("Sondages à debriefer").Sort
                            .SetRange Range("N1:N" & DerLigN)
                            .Header = xlYes
                            .MatchCase = False
                            .Orientation = xlTopToBottom
                            .SortMethod = xlPinYin
                            .Apply
                        End With
                        '......et suppression "à la main" des doublons
                        For m = 3 To DerLigN
                            Cells(m, 14).Activate
                            If ActiveCell = "" Then
                            GoTo Etiquette_ter
                                If ActiveCell = ActiveCell.Offset(-1, 0) Then
                                    ActiveCell.Delete
                                    m = m - 1
                                End If
                            End If
Etiquette_ter:
                        Next

Attention, il y a toujours la contrainte que le fichier Suivi doit être dans un répertoire différent des fichiers à traiter.

Banzai,

J'ai testé ton fichier en le plaçant dans le même répertoire que les fichiers à traiter. La colonne F est bien vidée à chaque démarrage de la macro, mais les X désirés ne sont pas reportés comme voulu.

Cordialement

Bonjour

Merci d'avoir pris le temps de tester mon fichier

A vérifier mets le fichier ailleurs et indique le chemin du stockage des sondages

A mon avis il aurait du se planter

car la macro demande d'ouvrir tous les fichiers *.xls qu'elle trouve et obligatoirement elle va se trouver --> message d'erreur

Version qui permet de stocker le programme dans le même répertoire (pas une obligation) que les sondages

Bonne journée

Rechercher des sujets similaires à "macro"