probléme avec sélection de la dernière feuille

ph.vanne

XLDnaute Junior
Bonjour à tous,

En "glanant», ça et là sur le site, des "bouts de macro"...
J’ai réussi à faire, partiellement, ce que je voulais...

Mais je bute sur un problème, l'erreur est surement ÉNORME, mais je ne la vois pas...

Le topo:

-je récupère sur un tableau (feuil "données") une seule ligne de ce tableau, après sélection par un filtre.
-je copie/colle sur une autre feuille (feuil copie sélection) uniquement cette ligne
(Cette étape est surement inutile, mais je n'ai pas su faire autrement!)
-je récupère certaines informations dans cette ligne et les colle dans les cellules d'une feuille qui est un 'modèle de facture' (feuil "modèle récepteur")
-ensuite je crée une nouvelle feuil qui a pour nom (l'onglet) le N° de la facture en question
Et je copie /colle l'ensemble sur cette nouvelle feuille...
Et c'est la que ça ne fonctionne plus... je copie ma sélection dans TOUTES les feuille créer !!
(Avec pourtant le bon N°!) ..

Je ne comprends pas ....

Sheets(Sheets.Count) ....c'est bien la derniere feuilles ? Non ?




Ensuite je règle les lignes et colonnes pour avoir un document propre.
Ça aussi je n'ai pas réussi à faire plus simple...
Et, mais peut être est-ce en rapport
...cette macro mouline 3/4 secondes pour se dérouler..

voila..
Si ça vous inspire, je suis preneur de conseils ET de solutions !!

Bien cordialement,

Philippe.

Ma macro :

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 04/03/2016 par Hotel Jaures



Application.ScreenUpdating = False

'copier uniquement la selection du filtre'




Sheets("données").Range("A2:AZ16500").SpecialCells(xlVisible).Copy

'coller dans la feuil "copie selection" '

Sheets("copie selection").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select

'creer une feuil et lui donner le N° de la facture selectionnée par le filtre'

Sheets.Add.Move after:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("modele recepteur").Range("E4")

'copier "modele recepteur" et coller dans la derniere feuille creé'

Sheets("modele recepteur").Range("A1:H40").Copy
Sheets(Sheets.Count).Select

Sheets(Sheets.Count).Paste
Range("A1").Select

'reglage des colonnes'


Columns("A:A").ColumnWidth = 0.91
Columns("B:B").ColumnWidth = 7.14
Columns("C:C").ColumnWidth = 45.57
Columns("D:D").ColumnWidth = 7.57
Columns("E:E").ColumnWidth = 1.71
Columns("F:F").ColumnWidth = 12
Columns("G:G").ColumnWidth = 10.7
Columns("H:H").ColumnWidth = 9.71

'et des lignes'

Rows("1:1").RowHeight = 13.5
Rows("2:2").RowHeight = 42.75
Rows("3:3").RowHeight = 12.75
Rows("4:4").RowHeight = 12.75
Rows("5:5").RowHeight = 12.75
Rows("6:6").RowHeight = 12.75
Rows("7:7").RowHeight = 12.75
Rows("8:8").RowHeight = 12.75
Rows("9:9").RowHeight = 87.75
Rows("10:10").RowHeight = 16.1
Rows("11:11").RowHeight = 16.1
Rows("12:12").RowHeight = 25.5
Rows("13:13").RowHeight = 10.5
Rows("14:14").RowHeight = 6
Rows("15:15").RowHeight = 24
Rows("16:16").RowHeight = 15
Rows("17:17").RowHeight = 15
Rows("18:18").RowHeight = 15
Rows("19:19").RowHeight = 15
Rows("20:20").RowHeight = 15
Rows("21:21").RowHeight = 15
Rows("22:22").RowHeight = 15
Rows("23:23").RowHeight = 15
Rows("24:24").RowHeight = 15
Rows("25:25").RowHeight = 15
Rows("26:26").RowHeight = 15
Rows("27:27").RowHeight = 15
Rows("28:28").RowHeight = 15
Rows("29:29").RowHeight = 15
Rows("30:30").RowHeight = 15
Rows("31:31").RowHeight = 16.5
Rows("32:32").RowHeight = 16.5
Rows("33:33").RowHeight = 16.5
Rows("34:34").RowHeight = 16.5
Rows("35:35").RowHeight = 16.5
Rows("36:36").RowHeight = 16.5
Rows("37:37").RowHeight = 16.5
Rows("38:38").RowHeight = 16.5
Rows("39:39").RowHeight = 18.5
Rows("40:40").RowHeight = 18.5
Rows("41:41").RowHeight = 18.5
Rows("42:42").RowHeight = 18.5
Rows("43:43").RowHeight = 18.5

'Mise en page /marges /bas de pages '

With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.2)
.RightMargin = Application.InchesToPoints(0.2)
.TopMargin = Application.InchesToPoints(0.3)
.BottomMargin = Application.InchesToPoints(0.3)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = Array(600, 300)
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed

'retour en "r1" sur le tableau avec filtre'

Sheets("données").Select
Range("r1").Select


Application.ScreenUpdating = True

End With
End Sub
 

M12

XLDnaute Accro
Re : probléme avec sélection de la dernière feuille

Bonjour,

regarde à cet endroit

Sheets("copie selection").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select

tu as deux sélections une derriere l'autre. Pour moi, il n'y a que A1 de sélectionné ?
 

thebenoit59

XLDnaute Accro
Re : probléme avec sélection de la dernière feuille

Tu peux remplacer ta parte de code
Code:
'creer une feuil et lui donner le N° de la facture selectionnée par le filtre'

Sheets.Add.Move after:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("modele recepteur").Range("E4")

'copier "modele recepteur" et coller dans la derniere feuille creé'

Sheets("modele recepteur").Range("A1:H40").Copy
Sheets(Sheets.Count).Select

Sheets(Sheets.Count).Paste
Range("A1").Select

par

Code:
'creer une feuil et lui donner le N° de la facture selectionnée par le filtre'

Sheets.Add.Move after:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("modele recepteur").Range("E4")
NouvelleFeuille = ActiveSheet.Name

'copier "modele recepteur" et coller dans la derniere feuille creé'

Sheets("modele recepteur").Range("A1:H40").Copy
Sheets(NouvelleFeuille).Select

Sheets(NouvelleFeuille).Paste
Range("A1").Select
 

ph.vanne

XLDnaute Junior
Re : probléme avec sélection de la dernière feuille

bonjour ,
désolé ,mais même avec les modifs proposées,
ça ne marche pas ,
j’obtiens le même résultat..toutes les feuille créées son identique a la dernier créée..??
les feuilles on bien toutes un N° différent, mais quand je créer une deuxième feuille elle porte bien le n°2 par ex,mais la n°1 devient la copie de la 2..etc etc ..
si 4 feuilles avec les facture 1.2.3.4 alors 4 onglets : 1, 2 ,3 et 4 mais toutes identiques ??

je crois avoir compris : je copie aussi les formules !! il faut que je ne copie que les valeur !!!
quel C....!
 

Discussions similaires

Réponses
3
Affichages
672
Réponses
14
Affichages
1 K

Statistiques des forums

Discussions
313 206
Messages
2 096 212
Membres
106 534
dernier inscrit
JOACHIM N T