Expand a macro to varaible data
Résolu
nonossov
Messages postés
638
Statut
Membre
-
nonossov Messages postés 638 Statut Membre -
nonossov Messages postés 638 Statut Membre -
Bonjour mes amis,
j'ai cette macro qui s'excute sur un nombre exacte des lignes, et je veux si vous permettez excuter la macro sur toute feuille excel qui respecte la meme forme de cette Macro,
Pour bien comprendre merci de télécharger ce fichier a fin d'avoir une idée claire sur la macro et sa tache, Merci infiniment.
executer la macro et voir la feuille "TVA" pour le resultat, Merci
https://www.cjoint.com/c/IJyop1lQ6CE
j'ai cette macro qui s'excute sur un nombre exacte des lignes, et je veux si vous permettez excuter la macro sur toute feuille excel qui respecte la meme forme de cette Macro,
Pour bien comprendre merci de télécharger ce fichier a fin d'avoir une idée claire sur la macro et sa tache, Merci infiniment.
executer la macro et voir la feuille "TVA" pour le resultat, Merci
https://www.cjoint.com/c/IJyop1lQ6CE
Configuration: Windows / Firefox 52.0
A voir également:
- Expand a macro to varaible data
- App data - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Qwerty to azerty - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
1 réponse
Bonjour,
Afin de faire gagner du temps à tout le monde et éviter de devoir télécharger ton fichier...
voici le code VBA que tu utilises actuellement:
On notera que tu as utilisé l'enregistreur de macros... et que tu as laissé plein de lignes inutiles.
Il faut également éviter les .Select ... Copy... Paste....
A la place, on ciblera directement les cellules désirées et on manipulera les "VALUE"
Pour ce qui est de définir des "plages de cellules" de façon "automatique", tu peux utiliser du code tel que :
qui te permet d'avoir le numero de la dernière ligne et celui de la dernière colonne.
A toi d'adapter ensuite à tes besoins.
Quoi qu'il en soit, en l'état, nous balancer un code en vrac en nous disant d'aller le lancer pour voir ce qu'il doit faire et qu'ensuite on te fournisse le code tout cuit... (c'est sincèrement à ça que ta question fait penser.... ) ce n'est pas top.
Donc revient nous voir avec une explication claire et détaillée de ce que tu souhaites faire....
Du code que tu auras tenté de réaliser pour y arriver... et le détail des éventuels soucis rencontrés.
Afin de faire gagner du temps à tout le monde et éviter de devoir télécharger ton fichier...
voici le code VBA que tu utilises actuellement:
Sub TVA()
'
' TVA Macro
'
' Keyboard Shortcut: Ctrl+Shift+T
'
Sheets("Wide export journal 2018").Select
ActiveWindow.SmallScroll Down:=-31
Range("D2").Select
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
Range("A2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("B5").Select
ActiveSheet.Paste
Sheets("BD").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Sheets("TVA").Name = "TVA"
Range("C5").Select
ActiveSheet.Paste
Range("J5").Select
Sheets("Wide export journal 2018").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
Range("F4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("K5").Select
ActiveSheet.Paste
Range("P5").Select
Sheets("Wide export journal 2018").Select
Range("G2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Range("Q5").Select
Sheets("Wide export journal 2018").Select
ActiveWindow.SmallScroll Down:=38
Range("A47").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
ActiveWindow.SmallScroll Down:=-38
Range("D21").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("A6").Select
ActiveSheet.Paste
Range("B6").Select
Sheets("Wide export journal 2018").Select
Range("A21").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Sheets("BD").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("C6").Select
ActiveSheet.Paste
Range("J6").Select
Sheets("Wide export journal 2018").Select
Range("F22").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
Range("F23").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("K6").Select
ActiveSheet.Paste
Range("P6").Select
Sheets("Wide export journal 2018").Select
Range("G21").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
ActiveWindow.SmallScroll Down:=49
Range("A67").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Sheets("TVA").Name = "TVA"
Range("Q6").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
ActiveWindow.SmallScroll Down:=-39
Range("D18").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("A7").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
Range("A18").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("B7").Select
ActiveSheet.Paste
Sheets("BD").Select
Range("B3:H3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("C7").Select
ActiveSheet.Paste
Range("J7").Select
Sheets("Wide export journal 2018").Select
Range("F19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Range("K7").Select
Sheets("Wide export journal 2018").Select
Range("F20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Range("P7").Select
Sheets("Wide export journal 2018").Select
Range("G18").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Application.CutCopyMode = False
Sheets("Wide export journal 2018").Select
Application.CutCopyMode = False
Selection.Copy
Range("F20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
Range("G18").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("P7").Select
ActiveSheet.Paste
Sheets("Wide export journal 2018").Select
ActiveWindow.SmallScroll Down:=62
Range("A93").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TVA").Select
Range("Q7").Select
ActiveSheet.Paste
Columns("J:J").ColumnWidth = 15.5
Columns("J:J").ColumnWidth = 17.83
Columns("K:K").ColumnWidth = 14.17
Columns("K:K").ColumnWidth = 16.33
Columns("P:P").ColumnWidth = 15.67
Columns("P:P").ColumnWidth = 18
End Sub
On notera que tu as utilisé l'enregistreur de macros... et que tu as laissé plein de lignes inutiles.
Il faut également éviter les .Select ... Copy... Paste....
A la place, on ciblera directement les cellules désirées et on manipulera les "VALUE"
Pour ce qui est de définir des "plages de cellules" de façon "automatique", tu peux utiliser du code tel que :
'Find the last non-blank cell in column A(1) lRow = Cells(Rows.Count, 1).End(xlUp).Row 'Find the last non-blank cell in row 1 lCol = Cells(1, Columns.Count).End(xlToLeft).Column
qui te permet d'avoir le numero de la dernière ligne et celui de la dernière colonne.
A toi d'adapter ensuite à tes besoins.
Quoi qu'il en soit, en l'état, nous balancer un code en vrac en nous disant d'aller le lancer pour voir ce qu'il doit faire et qu'ensuite on te fournisse le code tout cuit... (c'est sincèrement à ça que ta question fait penser.... ) ce n'est pas top.
Donc revient nous voir avec une explication claire et détaillée de ce que tu souhaites faire....
Du code que tu auras tenté de réaliser pour y arriver... et le détail des éventuels soucis rencontrés.
nonossov
Messages postés
638
Statut
Membre
Merci