-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" <anonymous@discussions.microsoft.com> a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Salut,
Une idée comme ça,
Utilise un tableau dans lequel tu entre les 12 colonne
dont tu as besoin
puis
une boucle for next
For i=Lbound(tableau) to Ubound(tableau)
cells(Ligne,tableau(i)).value=valeur
Next i
Le problème apparait pour la valeur à copier qui doit
certainement être
différente d'un i à l'autre
Peut-être utiliser un principe simmilaire
En espérant t'avoir aidé
a+
Jc
"Denys" a écrit
dans le message de
news:3bf701c4a64c$5e5f0f70$
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Salut,
Une idée comme ça,
Utilise un tableau dans lequel tu entre les 12 colonne
dont tu as besoin
puis
une boucle for next
For i=Lbound(tableau) to Ubound(tableau)
cells(Ligne,tableau(i)).value=valeur
Next i
Le problème apparait pour la valeur à copier qui doit
certainement être
différente d'un i à l'autre
Peut-être utiliser un principe simmilaire
En espérant t'avoir aidé
a+
Jc
"Denys" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:3bf701c4a64c$5e5f0f70$a501280a@phx.gbl...
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Salut,
Une idée comme ça,
Utilise un tableau dans lequel tu entre les 12 colonne
dont tu as besoin
puis
une boucle for next
For i=Lbound(tableau) to Ubound(tableau)
cells(Ligne,tableau(i)).value=valeur
Next i
Le problème apparait pour la valeur à copier qui doit
certainement être
différente d'un i à l'autre
Peut-être utiliser un principe simmilaire
En espérant t'avoir aidé
a+
Jc
"Denys" a écrit
dans le message de
news:3bf701c4a64c$5e5f0f70$
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" <anonymous@discussions.microsoft.com> a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
-----Message d'origine-----
Bonjour Denys,
'--------------------------------------
Sub Imprimer()
Dim Rg As Range, L As Long
Dim Arr(), Dest As Range, A As Integer
'Les colonnes regroupées dans un tableau
Arr = Array("A", "B", "D", "F", "G", _
"H", "L", "V", "X", "AA", "AB", "BX")
With Worksheets("Invoice")
'Première cellule de la plage
'de destination
Set Dest = .Range("L52")
End With
Application.EnableEvents = False
With Worksheets("Database")
.Activate
'Détermine la ligne de la cellule active
L = ActiveCell.Row
For A = 0 To UBound(Arr)
.Range(Arr(A) & L).Copy Dest.Offset(0, A)
Next
End With
Application.EnableEvents = True
Set Rg = Nothing
End Sub
'--------------------------------------
Salutations!
"Denys" a écrit
dans le message de news:02d401c4a654$03857c80
Bonjour Denis,
Oooopppss... Je vois que je me suis mal exprimé...
Voici: sur la page Database, il y a plusieurs lignes
(plus
de 5000) où sont entrées des données du client. Ces
données sont réparties sur 130 colonnes, à savoir Nom,
adresse, contact etc.....
Des données financières sont aussi entrées genre montant
annuel, fréquence de paiement, no de chèque etc...
Lorsque je veux facturer le client, je dois prendre
certaines cellules qui sont toutes sur la même ligne, et
les transporter sur la page Invoice, l'une à côté des
autres....
La macro que j'ai rempli cette fonction, sauf qu'elle
prend une cellule active, et avec la fonction Resize
copie
les cellules de la page database à la page Invoice...Mais
ce sont les cellules à la suite de la cellule active
Une fois sur la page Invoice sur la ligne 52 j'ai disons
la cellule A4 où je dois écrire le nom de la compagnie
qui
a comme formule = L52, A5 où se trouve l'adresse = M52,
etc
Où L52 est le nom de la compagnie transférée de la page
Database.
L'utilisateur qui veut imprimer une facture clique sur un
bouton de commande. Un userform apparait et il doit
écrire
le no de la compagnie. Excel fait un find, et sélectionne
la cellule où se trouve le no de compagnie. De là, la
macro Sub Imprimer transfère les données à la page
Invoice, et ensuite elle les imprimera.
Mon problème est que les cellules que je dois transférer
se trouvent dans la colonne A, B, D, F, G, H, L, V, X,
AA,AB, BX. Toutes sur la même rangée.
La façon la plus simple serait de faire un resize de 78
(à
epu près) mais je me demandais s'il n'y avait pas moyen
de
ne choisir que les cellules que l'on veut transférer...
J'espère que c'est plus clair ainsi...
Merci
Denys-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
même ligne ?Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
$Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant
afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à
côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
.
-----Message d'origine-----
Bonjour Denys,
'--------------------------------------
Sub Imprimer()
Dim Rg As Range, L As Long
Dim Arr(), Dest As Range, A As Integer
'Les colonnes regroupées dans un tableau
Arr = Array("A", "B", "D", "F", "G", _
"H", "L", "V", "X", "AA", "AB", "BX")
With Worksheets("Invoice")
'Première cellule de la plage
'de destination
Set Dest = .Range("L52")
End With
Application.EnableEvents = False
With Worksheets("Database")
.Activate
'Détermine la ligne de la cellule active
L = ActiveCell.Row
For A = 0 To UBound(Arr)
.Range(Arr(A) & L).Copy Dest.Offset(0, A)
Next
End With
Application.EnableEvents = True
Set Rg = Nothing
End Sub
'--------------------------------------
Salutations!
"Denys" <anonymous@discussions.microsoft.com> a écrit
dans le message de news:02d401c4a654$03857c80
Bonjour Denis,
Oooopppss... Je vois que je me suis mal exprimé...
Voici: sur la page Database, il y a plusieurs lignes
(plus
de 5000) où sont entrées des données du client. Ces
données sont réparties sur 130 colonnes, à savoir Nom,
adresse, contact etc.....
Des données financières sont aussi entrées genre montant
annuel, fréquence de paiement, no de chèque etc...
Lorsque je veux facturer le client, je dois prendre
certaines cellules qui sont toutes sur la même ligne, et
les transporter sur la page Invoice, l'une à côté des
autres....
La macro que j'ai rempli cette fonction, sauf qu'elle
prend une cellule active, et avec la fonction Resize
copie
les cellules de la page database à la page Invoice...Mais
ce sont les cellules à la suite de la cellule active
Une fois sur la page Invoice sur la ligne 52 j'ai disons
la cellule A4 où je dois écrire le nom de la compagnie
qui
a comme formule = L52, A5 où se trouve l'adresse = M52,
etc
Où L52 est le nom de la compagnie transférée de la page
Database.
L'utilisateur qui veut imprimer une facture clique sur un
bouton de commande. Un userform apparait et il doit
écrire
le no de la compagnie. Excel fait un find, et sélectionne
la cellule où se trouve le no de compagnie. De là, la
macro Sub Imprimer transfère les données à la page
Invoice, et ensuite elle les imprimera.
Mon problème est que les cellules que je dois transférer
se trouvent dans la colonne A, B, D, F, G, H, L, V, X,
AA,AB, BX. Toutes sur la même rangée.
La façon la plus simple serait de faire un resize de 78
(à
epu près) mais je me demandais s'il n'y avait pas moyen
de
ne choisir que les cellules que l'on veut transférer...
J'espère que c'est plus clair ainsi...
Merci
Denys
-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
même ligne ?
Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" <anonymous@discussions.microsoft.com> a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
$a501280a@phx.gbl...
Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant
afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à
côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
.
-----Message d'origine-----
Bonjour Denys,
'--------------------------------------
Sub Imprimer()
Dim Rg As Range, L As Long
Dim Arr(), Dest As Range, A As Integer
'Les colonnes regroupées dans un tableau
Arr = Array("A", "B", "D", "F", "G", _
"H", "L", "V", "X", "AA", "AB", "BX")
With Worksheets("Invoice")
'Première cellule de la plage
'de destination
Set Dest = .Range("L52")
End With
Application.EnableEvents = False
With Worksheets("Database")
.Activate
'Détermine la ligne de la cellule active
L = ActiveCell.Row
For A = 0 To UBound(Arr)
.Range(Arr(A) & L).Copy Dest.Offset(0, A)
Next
End With
Application.EnableEvents = True
Set Rg = Nothing
End Sub
'--------------------------------------
Salutations!
"Denys" a écrit
dans le message de news:02d401c4a654$03857c80
Bonjour Denis,
Oooopppss... Je vois que je me suis mal exprimé...
Voici: sur la page Database, il y a plusieurs lignes
(plus
de 5000) où sont entrées des données du client. Ces
données sont réparties sur 130 colonnes, à savoir Nom,
adresse, contact etc.....
Des données financières sont aussi entrées genre montant
annuel, fréquence de paiement, no de chèque etc...
Lorsque je veux facturer le client, je dois prendre
certaines cellules qui sont toutes sur la même ligne, et
les transporter sur la page Invoice, l'une à côté des
autres....
La macro que j'ai rempli cette fonction, sauf qu'elle
prend une cellule active, et avec la fonction Resize
copie
les cellules de la page database à la page Invoice...Mais
ce sont les cellules à la suite de la cellule active
Une fois sur la page Invoice sur la ligne 52 j'ai disons
la cellule A4 où je dois écrire le nom de la compagnie
qui
a comme formule = L52, A5 où se trouve l'adresse = M52,
etc
Où L52 est le nom de la compagnie transférée de la page
Database.
L'utilisateur qui veut imprimer une facture clique sur un
bouton de commande. Un userform apparait et il doit
écrire
le no de la compagnie. Excel fait un find, et sélectionne
la cellule où se trouve le no de compagnie. De là, la
macro Sub Imprimer transfère les données à la page
Invoice, et ensuite elle les imprimera.
Mon problème est que les cellules que je dois transférer
se trouvent dans la colonne A, B, D, F, G, H, L, V, X,
AA,AB, BX. Toutes sur la même rangée.
La façon la plus simple serait de faire un resize de 78
(à
epu près) mais je me demandais s'il n'y avait pas moyen
de
ne choisir que les cellules que l'on veut transférer...
J'espère que c'est plus clair ainsi...
Merci
Denys-----Original Message-----
Bonjour Denys,
Je ne comprends pas ce que tu essaies de faire !!
Quel est ta plage source ? Une ou des cellules ? Comment
sont-elles réparties dans la feuille source ?
Quelle est ta plage destination ? Comment savoir ou
reconnaître les 12 cellules parmi les 130 cellules sur la
même ligne ?Comment arrive-t-on à reconnaître la bonne ligne où la
copie doit s'effectuer ?
Salutations!
"Denys" a écrit
dans le message de news:3bf701c4a64c$5e5f0f70
$Bonjour à tous,
Une âme généreuse m'a un jour fourni le code suivant
afin
de transférer des données d'une feuille à l'autre.
J'essaie de la modifier, mais j'ai un problème..
Je dois choisir des cellules qui ne sont pas côte à
côte.
En fait, j'ai besoin de 12 cellules réparties sur 130
colonnes, mais sur la même ligne....
Sauriez-vous comment faire? Voici le code....
Sub Imprimer()
Dim Res As Variant, Rg As Range
Dim Dest As Range
With Worksheets("Invoice")
Set Dest = .Range("L52")
End With
With Worksheets("Database")
ActiveCell.Offset(0, -1).Resize(, 19).Copy Dest
End With
End Sub
Merci pour votre aide....
Denys
.
.