Bonjour, j'aimerai créer une macro qui
copie un lot de cellule et le colle a un endroit donné.
L'explication ci dessous, et à lire avec le fichier mep.pdf joint
http://cjoint.com/?gxlF44nEq1
- j'ouvre mon fichier adresse.
il contient 1 feuille (nommée differement selon fichier).
le nombre de colonne et de ligne varie selon le fichier.
- je fais un Alt+F8 et execute 'perso.xls'!Imposition. (la macro que
j'aimerai créer).
- un userform "Imposition" apparait. (voir fichier pdf joint).
Dans le Label Nb d'adresse, il apparait automatiquement
le nombre total d'adresse (= nb total de ligne).
le curseur est place dans le textbox nb de pose (en attente d'une reponse)
- je rentre le nombre desiré... et clique sur le bouton "Calculer".
Sous le Label nb de feuille, le resultat de la division entre
" nb d'adresse / nb de pose " apparait arrondit à 2 chiffres apres la virgule.
Ce label est grisé.
Le label nb de feuille est le resultat de la division arrondit a l'entier
superieur !
Le bouton "Lancer" prend le focus.
J'ai donc :
* mon nb d'adresse
* mon nombre de pose
* mon nombre (entier) de feuille
Ce sont les 3 variables qui definiront le decoupage de mon fichier d'origine.
- Je clique sur "Lancer".
Une nouvelle feuille 'Compo" se crée.
Le decoupage se realise...
Fin
Pour plus d'info sur le decoupage, merci
de regarder le fichier mep.pdf
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Essaie dans le code du bouton (largement non testé) :
Private Sub Calculer_Click() Dim NbDAdresse As Long, NbDePose As Long Dim NomFeuille As String, NbDeFeuille As Long Dim NbCol As Integer, Num As Integer Dim Ligne As Integer NbDAdresse = TextBox1.Value '*** modifier le nom NbDePose = TextBox2.Value '*** modifier le nom NbDeFeuille = TextBox3.Value '*** modifier le nom Unload Imposition NomFeuille = ActiveSheet.Name NbCol = Range("IV1").End(xlToLeft).Column Sheets.Add.Name = "Compo" Sheets(NomFeuille).Select Num = 1 Ligne = 1 For i = 1 To NbDePose Sheets(NomFeuille).Range(Cells(Ligne, 1), Cells(Ligne + NbDeFeuille - 1, Num + NbCol - 1)).Copy _ Sheets("Compo").Cells(1, Num) Num = Num + NbCol Ligne = Ligne + NbDeFeuille Next i End Sub
Cordialement. Daniel "tinou" a écrit dans le message de news:
Bonjour, j'aimerai créer une macro qui copie un lot de cellule et le colle a un endroit donné.
L'explication ci dessous, et à lire avec le fichier mep.pdf joint http://cjoint.com/?gxlF44nEq1
- j'ouvre mon fichier adresse. il contient 1 feuille (nommée differement selon fichier). le nombre de colonne et de ligne varie selon le fichier. - je fais un Alt+F8 et execute 'perso.xls'!Imposition. (la macro que j'aimerai créer). - un userform "Imposition" apparait. (voir fichier pdf joint). Dans le Label Nb d'adresse, il apparait automatiquement le nombre total d'adresse (= nb total de ligne). le curseur est place dans le textbox nb de pose (en attente d'une reponse) - je rentre le nombre desiré... et clique sur le bouton "Calculer". Sous le Label nb de feuille, le resultat de la division entre " nb d'adresse / nb de pose " apparait arrondit à 2 chiffres apres la virgule. Ce label est grisé. Le label nb de feuille est le resultat de la division arrondit a l'entier superieur ! Le bouton "Lancer" prend le focus.
J'ai donc : * mon nb d'adresse * mon nombre de pose * mon nombre (entier) de feuille Ce sont les 3 variables qui definiront le decoupage de mon fichier d'origine.
- Je clique sur "Lancer". Une nouvelle feuille 'Compo" se crée. Le decoupage se realise... Fin
Pour plus d'info sur le decoupage, merci de regarder le fichier mep.pdf
Merci d'avance pour votre aide...
Tinou
Bonjour.
Essaie dans le code du bouton (largement non testé) :
Private Sub Calculer_Click()
Dim NbDAdresse As Long, NbDePose As Long
Dim NomFeuille As String, NbDeFeuille As Long
Dim NbCol As Integer, Num As Integer
Dim Ligne As Integer
NbDAdresse = TextBox1.Value '*** modifier le nom
NbDePose = TextBox2.Value '*** modifier le nom
NbDeFeuille = TextBox3.Value '*** modifier le nom
Unload Imposition
NomFeuille = ActiveSheet.Name
NbCol = Range("IV1").End(xlToLeft).Column
Sheets.Add.Name = "Compo"
Sheets(NomFeuille).Select
Num = 1
Ligne = 1
For i = 1 To NbDePose
Sheets(NomFeuille).Range(Cells(Ligne, 1), Cells(Ligne +
NbDeFeuille - 1, Num + NbCol - 1)).Copy _
Sheets("Compo").Cells(1, Num)
Num = Num + NbCol
Ligne = Ligne + NbDeFeuille
Next i
End Sub
Cordialement.
Daniel
"tinou" <tinou@discussions.microsoft.com> a écrit dans le message de news:
6B35A4F3-648F-40D9-973D-419279A1B115@microsoft.com...
Bonjour, j'aimerai créer une macro qui
copie un lot de cellule et le colle a un endroit donné.
L'explication ci dessous, et à lire avec le fichier mep.pdf joint
http://cjoint.com/?gxlF44nEq1
- j'ouvre mon fichier adresse.
il contient 1 feuille (nommée differement selon fichier).
le nombre de colonne et de ligne varie selon le fichier.
- je fais un Alt+F8 et execute 'perso.xls'!Imposition. (la macro que
j'aimerai créer).
- un userform "Imposition" apparait. (voir fichier pdf joint).
Dans le Label Nb d'adresse, il apparait automatiquement
le nombre total d'adresse (= nb total de ligne).
le curseur est place dans le textbox nb de pose (en attente d'une reponse)
- je rentre le nombre desiré... et clique sur le bouton "Calculer".
Sous le Label nb de feuille, le resultat de la division entre
" nb d'adresse / nb de pose " apparait arrondit à 2 chiffres apres la
virgule.
Ce label est grisé.
Le label nb de feuille est le resultat de la division arrondit a l'entier
superieur !
Le bouton "Lancer" prend le focus.
J'ai donc :
* mon nb d'adresse
* mon nombre de pose
* mon nombre (entier) de feuille
Ce sont les 3 variables qui definiront le decoupage de mon fichier
d'origine.
- Je clique sur "Lancer".
Une nouvelle feuille 'Compo" se crée.
Le decoupage se realise...
Fin
Pour plus d'info sur le decoupage, merci
de regarder le fichier mep.pdf
Bonjour. Essaie dans le code du bouton (largement non testé) :
Private Sub Calculer_Click() Dim NbDAdresse As Long, NbDePose As Long Dim NomFeuille As String, NbDeFeuille As Long Dim NbCol As Integer, Num As Integer Dim Ligne As Integer NbDAdresse = TextBox1.Value '*** modifier le nom NbDePose = TextBox2.Value '*** modifier le nom NbDeFeuille = TextBox3.Value '*** modifier le nom Unload Imposition NomFeuille = ActiveSheet.Name NbCol = Range("IV1").End(xlToLeft).Column Sheets.Add.Name = "Compo" Sheets(NomFeuille).Select Num = 1 Ligne = 1 For i = 1 To NbDePose Sheets(NomFeuille).Range(Cells(Ligne, 1), Cells(Ligne + NbDeFeuille - 1, Num + NbCol - 1)).Copy _ Sheets("Compo").Cells(1, Num) Num = Num + NbCol Ligne = Ligne + NbDeFeuille Next i End Sub
Cordialement. Daniel "tinou" a écrit dans le message de news:
Bonjour, j'aimerai créer une macro qui copie un lot de cellule et le colle a un endroit donné.
L'explication ci dessous, et à lire avec le fichier mep.pdf joint http://cjoint.com/?gxlF44nEq1
- j'ouvre mon fichier adresse. il contient 1 feuille (nommée differement selon fichier). le nombre de colonne et de ligne varie selon le fichier. - je fais un Alt+F8 et execute 'perso.xls'!Imposition. (la macro que j'aimerai créer). - un userform "Imposition" apparait. (voir fichier pdf joint). Dans le Label Nb d'adresse, il apparait automatiquement le nombre total d'adresse (= nb total de ligne). le curseur est place dans le textbox nb de pose (en attente d'une reponse) - je rentre le nombre desiré... et clique sur le bouton "Calculer". Sous le Label nb de feuille, le resultat de la division entre " nb d'adresse / nb de pose " apparait arrondit à 2 chiffres apres la virgule. Ce label est grisé. Le label nb de feuille est le resultat de la division arrondit a l'entier superieur ! Le bouton "Lancer" prend le focus.
J'ai donc : * mon nb d'adresse * mon nombre de pose * mon nombre (entier) de feuille Ce sont les 3 variables qui definiront le decoupage de mon fichier d'origine.
- Je clique sur "Lancer". Une nouvelle feuille 'Compo" se crée. Le decoupage se realise... Fin
Pour plus d'info sur le decoupage, merci de regarder le fichier mep.pdf