Galère macro avec développeur

Résolu/Fermé
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 - 17 avril 2017 à 18:39
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 - 29 avril 2017 à 09:22
Bonjour le forum

J'ai fait une macro avec le développeur, pourriez m'aider à le simplifier, de plus si vous pouviez me sélectionner jusqu'à 5000 lignes parce que je n'ai quelques lignes certainement à cause du développeur et je ne sais pas comment faire pour sélectionner jusqu'à 5000

Je peux vous envoyer une PJ

Par avance, merci pour vos solutions

Bien cordialement

ericp

Le code :

Sub Macro1()
'
' Macro1 Macro
'

'
Range("B1:S12").Select
Range("J1").Activate
Application.CutCopyMode = False
Selection.EntireRow.Delete
Range("A1").Select
Selection.EntireColumn.Delete
Range("A1:T12").Select
With Selection
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlLTR
.MergeCells = False
End With
Columns("M:M").Select
Selection.Delete Shift:=xlToLeft
Columns("N:N").Select
Selection.Delete Shift:=xlToLeft
Columns("Q:Q").Select
Selection.Delete Shift:=xlToLeft
Columns("L:L").Select
Selection.Insert Shift:=xlToRight
Range("L2").Select
ActiveCell.FormulaR1C1 = "=75000+RC[1]"
Range("L2").Select
Selection.AutoFill Destination:=Range("L2:L11")
Range("L2:L11").Select
Range("L1").Select
ActiveCell.FormulaR1C1 = "X"
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Range("A1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$R$12").AutoFilter Field:=1, Criteria1:="<>"
ActiveSheet.Range("$A$1:$R$12").AutoFilter Field:=2, Criteria1:="<>"
Range("A1:R12").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"DPP-20-1_ListeDesMissionsParArr!R1C1:R12C18", Version:=xlPivotTableVersion10 _
).CreatePivotTable TableDestination:="Feuil1!R3C1", TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
Sheets("Feuil1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("2")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("3")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("X")
.Orientation = xlRowField
.Position = 3
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("3"), "Nombre de 3", _
xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("2")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("X")
.PivotItems("168500").Visible = False
.PivotItems("(blank)").Visible = False
End With
End Sub
aucun avatar ericp
Membre habitué
Membre habitué

Messages : 111
Inscription : 5 Novembre 2009
Version Excel : 2007




A voir également:

26 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 avril 2017 à 22:59
Bonjour,

Je te propose ceci à tester
Sub Macro1()
'
' Macro1 Macro
'

'
Rows("1:2").Delete
Dim der As Long
der = ActiveSheet.UsedRange.Rows.Count
With Range("A1:T12")
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
    .ReadingOrder = xlLTR
    .MergeCells = False
End With
Columns("M:N").Delete Shift:=xlToLeft
Columns("Q:Q").Delete Shift:=xlToLeft
Columns("L:L").Insert Shift:=xlToRight

Range("L2:L" & der).FormulaR1C1 = "=75000+RC[1]"
Range("L1").FormulaR1C1 = "X"
With Range("L1").Characters(Start:=1, Length:=1).Font
    .Name = "Arial"
    .FontStyle = "Gras"
    .Size = 10
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = 1
    .TintAndShade = 0
    .ThemeFont = xlThemeFontNone
End With
With Range("$A$1:$R$" & der)
    .AutoFilter Field:=1, Criteria1:="<>"
    .AutoFilter Field:=2, Criteria1:="<>"
End With
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"DPP-20-1_ListeDesMissionsParArr!R1C1:R" & der & "C18", Version:=xlPivotTableVersion10 _
).CreatePivotTable TableDestination:=ActiveSheet.Range("A3"), TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
With ActiveSheet.PivotTables("Tableau croisé dynamique1")
    With .PivotFields("2")
        .Orientation = xlRowField
        .Position = 1
        .Orientation = xlColumnField
        .Position = 1
    End With
    With .PivotFields("3")
        .Orientation = xlRowField
        .Position = 2
    End With
    With .PivotFields("X")
        .Orientation = xlRowField
        .Position = 3
        .PivotItems("168500").Visible = False
        .PivotItems("(blank)").Visible = False
    End With
    .AddDataField ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("3"), "Nombre de 3", xlCount
End With
End Sub
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
18 avril 2017 à 06:45
Bonjour gbinforme

un grand merci de t'être arrêté sur mon soucis

ça me beug à ce niveau

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:

je ne vois pas d'ou cela peut venir
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
18 avril 2017 à 07:31
Re

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"DPP-20-1_ListeDesMissionsParArr!R1C1:R" & der & "C18", Version:=xlPivotTableVersion10 _
).CreatePivotTable TableDestination:=ActiveSheet.Range("A3"), TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10

erreur exécution "1004"

Le nom du champs du tableau croisé dynamique n'est pas valide
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 avril 2017 à 08:39
Bonjour,

Cela vient probablement de ta ligne titre qui a des cellules vides ou identiques.
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
18 avril 2017 à 09:09
Aie,

dans ma macro, je les enlève au fur et à mesure de l'évolution de mon travail, cela voudrait dire qu(il faut que je fasse d'abord une mise en page de ma ligne de titre, idem pour les colonnes que j'enlève.

Pourtant quand lance ma macro, tout s'effectue sans problème.

Ou alors faire 2 macros, une pour enlever les colonnes et refaire ma ligne de titre ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 avril 2017 à 10:20
Bonjour,

Avec juste le code sans connaitre le contexte, c'est impossible d'aller plus loin dans l'adaptation.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
Modifié le 18 avril 2017 à 10:37
Et si je te joins un fichier ? tu pourrais voir si il y a une solution
https://www.cjoint.com/c/GDsiK66h8Is
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
18 avril 2017 à 12:09
oups, j'ai oublié d'incorporer le code

https://www.cjoint.com/c/GDskiUul5Js
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 avril 2017 à 18:29
Bonsoir,

Je me demande pourquoi tu veux une macro pour ton classeur car tel qu'il est conçu la macro ne peut fonctionner qu'une seule fois et donc n'a aucun intérêt ?
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
18 avril 2017 à 18:33
Bonsoir,

Oui c'est pour ça que j'aimerais une macro sur cette base car j'ai des dizaines de fichiers à gérer en début de semaine et cela me ferait un max de temps pour faire mes stats ensuite.
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
18 avril 2017 à 21:48
Tu penses que je devrais laisser tomber l'idée d'une macro et continuer manuellement ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
19 avril 2017 à 09:28
Bonjour,

Ton classeur est vraiment curieux et je ne sais pas si les autres sont identiques. J'ai adapté la macro en fonction du classeur et elle est dans un classeur spécifique.
- tu l'ouvres
- tu ouvres les autres classeurs au fur et à mesure
- tu lances la macro avec le raccourci "ctrl+t"
Avec ton exemple cela fonctionne.

http://www.cjoint.com/c/GDthCmmGMbl
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
19 avril 2017 à 11:38
Bonjour,

sur mon exemple cela fonctionne, mais des que je mets ta macro ma base réel

ça me beug à ce niveau :

With .PivotFields("2")
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
19 avril 2017 à 18:11
Bonjour,

sur mon exemple cela fonctionne,
Si ton exemple ne correspond pas à ta base, c'est que ce n'est pas un bon exemple, ne crois-tu pas ?

Essayes avec ceci : http://www.cjoint.com/c/GDtqjoQzDZl
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
19 avril 2017 à 19:04
Bonjour,

J'ai testé et ça marche du tonnerre, franchement tu es génial, je vais gagner un maximum de temps et me consacrer à fond sur mes stats en faisant des mises en page de tonnerre

Encore un grand, grand merci à toi et tes connaissances

Je mets en résolu
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
19 avril 2017 à 21:38
Merci de ton sympathique message et content que cela fonctionne car tes classeurs sont assez curieux en conception avec plein de pièges comme les titres numériques qui sont incompatibles avec les TCD.
Bonne continuation et bonnes statistiques sportives.
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
19 avril 2017 à 22:03
Franchement gbinforme,

Je suis sincère, grace à tes connaissances, tu vas me permettre de produire un max de travail, je suis chez moi et grace à toi je vais pouvoir rattraper le retard que j'avais et c'est pas en HS, juste une reconnaissance du travail founi
Mille merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
Modifié le 25 avril 2017 à 18:16
Je reviens vers toi parce que mes supérieurs hiérarchiques me prennent la tête pour que je dé-selectionne dans la colonne 5 la case "y" et dans la colonne 6 la case "elle".
Ils sont compliqués et fatiguants

Est ce que tu crois que cela est possible si oui, je te mets en lien le fichier

https://www.cjoint.com/c/GDzqmgueJlt

Je te remercie

Bien cordialement
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
25 avril 2017 à 18:16
Bonjour gbinforme

Je reviens vers toi parce que mes supérieurs hiérarchiques me prennent la tête pour que je dé-selectionne dans la colonne 5 la case "y" et dans la colonne 6 la case "elle".
Ils sont compliqués et fatiguants

Est ce que tu crois que cela est possible si oui, je te mets en lien le fichier

https://www.cjoint.com/c/GDzqmgueJlt

Je te remercie

Bien cordialement
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
25 avril 2017 à 20:51
Bonjour Éric,

je dé-selectionne dans la colonne 5 la case "y" et dans la colonne 6 la case "elle".
Je ne suis pas sûr d'avoir bien compris. Les lignes avec "y" et/ou "elle" doivent être masquées ? supprimées ?
Je pensais que seul ton TCD était important ?
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
25 avril 2017 à 21:11
Bonsoir gbinforme

C'est cool de me répondre aussi rapidement, elles doivent être supprimées, de sorte que les résultats qui comportent "y" et "elle" ne soient pas comptabilisées dans mon TCD
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
25 avril 2017 à 21:10
C'est cool de me répondre aussi rapidement, elles doivent être supprimées, de sorte que les résultats qui comportent "y" et "elle" ne soient pas comptabilisées dans mon TCD
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
25 avril 2017 à 22:42
Bonsoir Éric,

Voici donc ton classeur macro modifié :

http://www.cjoint.com/c/GDzuMFKYtOl

L'on voit bien que les statistiques diffusées ne sont pas nécessairement le reflet de la réalité mais cela ne me surprends pas ;-)
0
Bonjour Gbinforme

Les lignes "y" et "elle" sont toujours presentes
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
26 avril 2017 à 11:26
Bonjour Éric,

Tu n'as pas utilisé la dernière version...
https://www.dropbox.com/s/b899tw0t2s6jgqx/Macro_eric.xlsm?dl=0
0
J'ai bien téléchargé la derniere version avec le nouveau site pour aller chercher ta macro que j'ai testé et en colonne "5, j'ai toujours le Y" et en colonne "6 j'ai toujours les elles"
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
26 avril 2017 à 18:02
Bonjour Éric,

Attention j'ai toujours le Y" et en colonne "6 j'ai toujours les elles" tu avais demandé
je dé-selectionne dans la colonne 5 la case "y" et dans la colonne 6 la case "elle".
et donc les "ELLES" restent.
Voici ton classeur du poste 20 passé par la macro.

https://www.cjoint.com/c/GDAqbrt7Gml
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
26 avril 2017 à 18:26
Je pense que je me mélange les pieds si c'est possible, c'est enlever les lignes entières ou il y a des "y" et des "elle"

c'est bizarre je ne suis plus sur l'autre site pour télécharger tes fichiers
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
26 avril 2017 à 18:35
c'est enlever les lignes entières ou il y a des "y" et des "elle"
C'est bien ce que j'ai fait et si tu en trouves c'est que j'ai perdu la vue ;-)
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
26 avril 2017 à 18:49
Effectivement je restais bloqué sur "elle" et je n'ai pas vu que c'était les "elles" avec un s qui restait
Quand je change "y" par un nom et "elle" par le même les lignes ne sont pas enlevés,
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
26 avril 2017 à 21:12
bonsoir,
Quand je change "y" par un nom et "elle" par le même les lignes ne sont pas enlevés
C'est-à-dire ?
Si au lieu d'"Y" tu mets Dupont et au lieu d'"elle" tu mets Dupont, la ligne reste, cela me semble normal, les lignes sont supprimées selon leur contenu.
Si ensuite tu remplaces Dupont par Y, il sera dans le TCD.
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
26 avril 2017 à 21:25
Mais alors comment puis-je faire pour que mes lignes s'enlèvent avec des noms différents ?
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
26 avril 2017 à 21:54
Mais je mets "dupont" dans la macro a la place de "y", et que dupont est dans ma base fichier et que je mets "dupont" à la place de 'elle" et que dupont est dans ma base fichier, pourquoi les lignes se s'enlèvent elle pas ,

C'est là que je ne comprends pas les macros
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
26 avril 2017 à 22:24
Tes données sont en majuscules sur tes classeurs et j'en ai tenu compte mais pas toi alors remplaces la ligne par celle-ci et cela fonctionnera
    If UCase(Cells(lig, "F").Value) = UCase("dupont") Or UCase(Cells(lig, "G").Value) = UCase("durand") Then

Ton exemple ne correspondait pas à tes classeurs et là c'est ton écriture qui ne correspond pas à la réalité des données : l'informatique est binaire et ne s’accommode que très mal de l'à peu près.
Voilà l'explication de ton incompréhension : C'est là que je ne comprends pas les macros il faut être très précis lorsque l'on veut coder car l'imagination n'est guère créatrice si on le fait au hasard.
0
eric2027 Messages postés 289 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 31 août 2017 6
27 avril 2017 à 04:47
Bonjour gbinform

Tu es GÉNIE, grâce à toi, j'ai un autoroute devant moi pour faire ce que mes chefs veulent, et qu'ils me laissent tranquillement travailler.

Il me reste un an à tirer, après c'est la retraite et grâce à ta macro, je vois cette dernière année avec tranquillité et sérénité

Excuse moi si je me suis mal exprimé mais tu as su lire entre mes lignes
de plus d'être un génie, tu es d'une patience à tout égard

Bien à toi, et mille merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié le 27 avril 2017 à 09:14
Bonjour Éric,

Si tu as plusieurs noms à supprimer dans tes classeurs, il faudrait procéder tout à fait autrement en les mettant tout simplement dans la feuille du classeur macro ce qui évite toute erreur de manipulation dans la macro.

Voici le lien : https://www.cjoint.com/c/GDBhmnvpkJl

Tu peux rajouter des noms et modifier comme tu veux les 2 colonnes.
0