Probleme de copier coller
Résolu
vico31
-
vico31 -
vico31 -
Bonjour à tous,
Mon problème est le suivant je souhaite copier, les résultats d'un filtre sur une nouvelle feuille "Rslt", le problème c'est que cela ne marche pas surement du à un oubli
Merci de m'aider
Sub Créer_()
Application.ScreenUpdating = False
For lgn = 2 To 65536
Sheets("Tchou").Select
Rslt = Cells(lgn, 1).Value
Sheets("Tchou").Select
Range("L1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=12, Criteria1:="MAL"
Range("A1:Af65536").Select
Range("A1").Activate
Selection.Copy
Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Worksheets("Rslt").Range("A1")
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
' le problème vient de cette partie manifestement
Next lgn
Application.ScreenUpdating = True
End Sub
Mon problème est le suivant je souhaite copier, les résultats d'un filtre sur une nouvelle feuille "Rslt", le problème c'est que cela ne marche pas surement du à un oubli
Merci de m'aider
Sub Créer_()
Application.ScreenUpdating = False
For lgn = 2 To 65536
Sheets("Tchou").Select
Rslt = Cells(lgn, 1).Value
Sheets("Tchou").Select
Range("L1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=12, Criteria1:="MAL"
Range("A1:Af65536").Select
Range("A1").Activate
Selection.Copy
Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Worksheets("Rslt").Range("A1")
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
' le problème vient de cette partie manifestement
Next lgn
Application.ScreenUpdating = True
End Sub
1 réponse
-
Bonjour,
Rslt = Cells(lgn, 1).Value est-ce le nom de l'onglet a ajouter ???
ActiveSheet.Name = Worksheets("Rslt").Range("A1") Enlevez les doubles cotes de Rslt
les résultats d'un filtre sur une nouvelle feuille "Rslt" la, quand cela marchera vous etes parti pour en ajouterez 65534, mais votre excel n'en accepte que 255.
Si vous voulez seulement les cellules filtrees:
Range("A1:AF65536").SpecialCells(xlVisible).Copy
mais il faudrait aussi limite aux lignes effectives de votre tableau
Range("A1:AF" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Copy
A+-
Merci pour votre rapidité.
Alors premièrement, oui Rslt est l'onglet à ajouter.
Secondo, j'ai du mal comprendre ce que vous vouliez dire par doubles cotes car ca plante toujours à cet endroit
Modif:
Sub Créer_()
Application.ScreenUpdating = False
For lgn = 2 To 65536
Sheets("Tchou").Select
Rslt = Cells(lgn, 1).Value
Sheets("Tchou").Select
Range("L1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=12, Criteria1:="MAL"
Range("A1:AF" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Copy
Range("A1").Activate
Selection.Copy
Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Worksheets(Rslt).Range("A1")
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
' le problème vient de cette partie manifestement
Next lgn
Application.ScreenUpdating = True
End Sub -
-
-
-
Je veux juste grâce à mon doc initial "Tchou" faire un filtre sur la rubrique "MAL" et que le résultat de ce filtrage apparaisse dans un nouvel onglet qu'on nomerrait "Rslt", donc "Rslt" ne doit pas être vide.
Désolé de t'ennuyer mais mes compétences en VBA sont limités et je ne comprend pas pourquoi il n'accepte pas ce nom de feuille.....
-