Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro

17 réponses
Avatar
Denis Levesque
Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur un
bouton les informations que j'ai écrite sur ma facture se retranscrive sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis

10 réponses

1 2
Avatar
Rex
Bonsoir

Je planche sur le même problème depuis quelques temps déjà

Et avec l'aide des génies qui passent par ici sur leur tapis volants
(Et pour certains dans leur bouteille) ;-))))

J'arrive tout doucement vers un résultat

Pour une partie j'utilise ces lignes-ci dans une macro

Sheets("Make Offer").Range("C4").Copy
Sheets("Offers").Range("a4").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse

Il faut bien sûr remplacer les make offer etc par tes noms de feuilles à toi
Et bien sur la répeter pour chaque cellule de ta feuille de départ


L'autre truc que j'essaye est un peu plus compliquer et plus efficace
mais je ne la comprends pas encore très bien (MAIS ELLE FONCTIONNE)

Dans ma feuille "Make Offer" mes données sont en dessous l'une de l'autre en
colonne
Et dans ma feuille "Offers" elles sont en lignes (plus facile pour les
totaux etc)

FFO m'as concoster ce truc-ci


Sheets("Make Offer").Select
For Each c In Worksheets("Make Offer").Range([C13], [C65535].End(xlUp))
Sheets("Offers").Select
For Each d In Worksheets("Offers").Range([A1], [IV1].End(xlToLeft))
If d = c Then
d.Offset(3, 0).Select
Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Mais ne me demande pas de te l'expliquer

Si cela t'intéresse, quand mon fichier sera fini (ce ne sera pas demain) je
pourrais te le poster si tu veux

A bientôt

Et de toute façon
il y aura sûrement quelqu'un d'intelligent qui te répondra demain

Rex








"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur un
bouton les informations que j'ai écrite sur ma facture se retranscrive sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis




Avatar
Denis Levesque
merci pour ta réponse Rex

mais je comprend pas
je vais essayer de me créer un bouton et je vais t'envoyé le code peut-etre
qu'a deux tete sa va aller plus vite de ton bord et du mien

bye

Denis

"Rex" wrote in message
news:
Bonsoir

Je planche sur le même problème depuis quelques temps déjà

Et avec l'aide des génies qui passent par ici sur leur tapis volants
(Et pour certains dans leur bouteille) ;-))))

J'arrive tout doucement vers un résultat

Pour une partie j'utilise ces lignes-ci dans une macro

Sheets("Make Offer").Range("C4").Copy
Sheets("Offers").Range("a4").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse

Il faut bien sûr remplacer les make offer etc par tes noms de feuilles à
toi
Et bien sur la répeter pour chaque cellule de ta feuille de départ


L'autre truc que j'essaye est un peu plus compliquer et plus efficace
mais je ne la comprends pas encore très bien (MAIS ELLE FONCTIONNE)

Dans ma feuille "Make Offer" mes données sont en dessous l'une de l'autre
en
colonne
Et dans ma feuille "Offers" elles sont en lignes (plus facile pour les
totaux etc)

FFO m'as concoster ce truc-ci


Sheets("Make Offer").Select
For Each c In Worksheets("Make Offer").Range([C13], [C65535].End(xlUp))
Sheets("Offers").Select
For Each d In Worksheets("Offers").Range([A1], [IV1].End(xlToLeft))
If d = c Then
d.Offset(3, 0).Select
Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Mais ne me demande pas de te l'expliquer

Si cela t'intéresse, quand mon fichier sera fini (ce ne sera pas demain)
je
pourrais te le poster si tu veux

A bientôt

Et de toute façon
il y aura sûrement quelqu'un d'intelligent qui te répondra demain

Rex








"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur
un
bouton les informations que j'ai écrite sur ma facture se retranscrive
sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis








Avatar
Denis Levesque
voici mon code
mais le probleme est que les enregistrement ne change pas de ligne elle
écrit toujours sur la meme ligne et je ne sais pas comment écrire le code
pour la faire changer de ligne

merci encore pour ton aide

Sub Bouton_Facture()
'
' Bouton_Facture Macro
' Enregistrer une facture
'
' Keyboard Shortcut: Ctrl+z
'
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("F4").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("B3").Select
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("C3").Select
Sheets("Service Invoice").Select
Range("B8:C8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D3").Select
Sheets("Service Invoice").Select
Range("B10").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Columns("C:C").EntireColumn.AutoFit
Range("E3").Select
Sheets("Service Invoice").Select
Range("B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("F3").Select
Sheets("Service Invoice").Select
Range("B12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("G3").Select
Sheets("Service Invoice").Select
Range("A15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("H3").Select
Sheets("Service Invoice").Select
Range("B15:D15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("I3").Select
Sheets("Service Invoice").Select
Range("E15").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "5/1/2007"
Range("F5").Select
End Sub


"Rex" wrote in message
news:
Bonsoir

Je planche sur le même problème depuis quelques temps déjà

Et avec l'aide des génies qui passent par ici sur leur tapis volants
(Et pour certains dans leur bouteille) ;-))))

J'arrive tout doucement vers un résultat

Pour une partie j'utilise ces lignes-ci dans une macro

Sheets("Make Offer").Range("C4").Copy
Sheets("Offers").Range("a4").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse

Il faut bien sûr remplacer les make offer etc par tes noms de feuilles à
toi
Et bien sur la répeter pour chaque cellule de ta feuille de départ


L'autre truc que j'essaye est un peu plus compliquer et plus efficace
mais je ne la comprends pas encore très bien (MAIS ELLE FONCTIONNE)

Dans ma feuille "Make Offer" mes données sont en dessous l'une de l'autre
en
colonne
Et dans ma feuille "Offers" elles sont en lignes (plus facile pour les
totaux etc)

FFO m'as concoster ce truc-ci


Sheets("Make Offer").Select
For Each c In Worksheets("Make Offer").Range([C13], [C65535].End(xlUp))
Sheets("Offers").Select
For Each d In Worksheets("Offers").Range([A1], [IV1].End(xlToLeft))
If d = c Then
d.Offset(3, 0).Select
Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Mais ne me demande pas de te l'expliquer

Si cela t'intéresse, quand mon fichier sera fini (ce ne sera pas demain)
je
pourrais te le poster si tu veux

A bientôt

Et de toute façon
il y aura sûrement quelqu'un d'intelligent qui te répondra demain

Rex








"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur
un
bouton les informations que j'ai écrite sur ma facture se retranscrive
sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis








Avatar
tissot.emmanuel
Bonsoir,

Si j'ai bien compris la problématique tu utilise une feuille nommée Service
Invoice comme modele de facture et apres chaque utilisation tu souhaite
ajouter les informations dans une table contenu dans une feuille nommée
Client.

Partant de ces deux hypotheses:

Sub EnregistrerFacture()
Worksheets("Service Invoice").Activate
With Worksheets("Client")
.Range("A65536").End(xlUp).Offset(1, 0).Value = Range("A1").Value
.Range("B65536").End(xlUp).Offset(1, 0).Value = Range("A2").Value
'etc etc
'A gauche de l'égalité la colonne ou tu veux copier l'information, a
droite la source
End With
End Sub

Ce code suppose que les cellules sous la table Client soient vides.

Cordialement,

Manu/



"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur un
bouton les informations que j'ai écrite sur ma facture se retranscrive sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis



Avatar
FFO
Salut Denis
N'ayant aucun point de repère comme pour Rex à qui j'ai réalisé une macro
généraliste m'appuyant sur des noms pour obtenir le résultat escompté je te
propose ce code qu'il faudra adapter en fonction des recopies dans la feuille
Client que tu souhaitera faire
Pour les cellules unique à recopier autant de lignes que de cellules à
traiter, l'équivalent de ta macro donne :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")

Pour les groupes de cellules adjacentes,
l'équivalent de ta macro donne :

Sheets("Client").Range("C3,D3") = Sheets("Service Invoice").Range("B8,C8")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")

Pour les cellules de la même feuille (ici Service Invoice)

Sheets("Service Invoice").Range("F3") = "5/1/2007"

Ce qui donne le code global suivant :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("C3,D3") = Sheets("Service Invoice").Range("B8,C8")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")
Sheets("Service Invoice").Range("F3") = "5/1/2007"

Correspondant au résultat de ta macro sans mise en forme

Je pense que tu peux facilement l'adapter

Qu'en penses tu ???
Dis moi !!!


voici mon code
mais le probleme est que les enregistrement ne change pas de ligne elle
écrit toujours sur la meme ligne et je ne sais pas comment écrire le code
pour la faire changer de ligne

merci encore pour ton aide

Sub Bouton_Facture()
'
' Bouton_Facture Macro
' Enregistrer une facture
'
' Keyboard Shortcut: Ctrl+z
'
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("F4").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("B3").Select
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("C3").Select
Sheets("Service Invoice").Select
Range("B8:C8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D3").Select
Sheets("Service Invoice").Select
Range("B10").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Columns("C:C").EntireColumn.AutoFit
Range("E3").Select
Sheets("Service Invoice").Select
Range("B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("F3").Select
Sheets("Service Invoice").Select
Range("B12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("G3").Select
Sheets("Service Invoice").Select
Range("A15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("H3").Select
Sheets("Service Invoice").Select
Range("B15:D15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("I3").Select
Sheets("Service Invoice").Select
Range("E15").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "5/1/2007"
Range("F5").Select
End Sub


"Rex" wrote in message
news:
Bonsoir

Je planche sur le même problème depuis quelques temps déjà

Et avec l'aide des génies qui passent par ici sur leur tapis volants
(Et pour certains dans leur bouteille) ;-))))

J'arrive tout doucement vers un résultat

Pour une partie j'utilise ces lignes-ci dans une macro

Sheets("Make Offer").Range("C4").Copy
Sheets("Offers").Range("a4").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse

Il faut bien sûr remplacer les make offer etc par tes noms de feuilles à
toi
Et bien sur la répeter pour chaque cellule de ta feuille de départ


L'autre truc que j'essaye est un peu plus compliquer et plus efficace
mais je ne la comprends pas encore très bien (MAIS ELLE FONCTIONNE)

Dans ma feuille "Make Offer" mes données sont en dessous l'une de l'autre
en
colonne
Et dans ma feuille "Offers" elles sont en lignes (plus facile pour les
totaux etc)

FFO m'as concoster ce truc-ci


Sheets("Make Offer").Select
For Each c In Worksheets("Make Offer").Range([C13], [C65535].End(xlUp))
Sheets("Offers").Select
For Each d In Worksheets("Offers").Range([A1], [IV1].End(xlToLeft))
If d = c Then
d.Offset(3, 0).Select
Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Mais ne me demande pas de te l'expliquer

Si cela t'intéresse, quand mon fichier sera fini (ce ne sera pas demain)
je
pourrais te le poster si tu veux

A bientôt

Et de toute façon
il y aura sûrement quelqu'un d'intelligent qui te répondra demain

Rex








"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur
un
bouton les informations que j'ai écrite sur ma facture se retranscrive
sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis













Avatar
rthompson
Bonjour

Et ben tu vois Denis

Il n'a pas fallu longtemps pour avoir une réponse INTELLIGENTE

Merci qui?

Merci FFO


A bientôt et bonne continuation à toi
Et à toi aussi FFO

Rex


"FFO" a écrit dans le message de news:

Salut Denis
N'ayant aucun point de repère comme pour Rex à qui j'ai réalisé une macro
généraliste m'appuyant sur des noms pour obtenir le résultat escompté je
te
propose ce code qu'il faudra adapter en fonction des recopies dans la
feuille
Client que tu souhaitera faire
Pour les cellules unique à recopier autant de lignes que de cellules à
traiter, l'équivalent de ta macro donne :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")

Pour les groupes de cellules adjacentes,
l'équivalent de ta macro donne :

Sheets("Client").Range("C3,D3") = Sheets("Service Invoice").Range("B8,C8")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")

Pour les cellules de la même feuille (ici Service Invoice)

Sheets("Service Invoice").Range("F3") = "5/1/2007"

Ce qui donne le code global suivant :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("C3,D3") = Sheets("Service
Invoice").Range("B8,C8")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")
Sheets("Service Invoice").Range("F3") = "5/1/2007"

Correspondant au résultat de ta macro sans mise en forme

Je pense que tu peux facilement l'adapter

Qu'en penses tu ???
Dis moi !!!


voici mon code
mais le probleme est que les enregistrement ne change pas de ligne elle
écrit toujours sur la meme ligne et je ne sais pas comment écrire le code
pour la faire changer de ligne

merci encore pour ton aide

Sub Bouton_Facture()
'
' Bouton_Facture Macro
' Enregistrer une facture
'
' Keyboard Shortcut: Ctrl+z
'
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("F4").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("B3").Select
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("C3").Select
Sheets("Service Invoice").Select
Range("B8:C8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D3").Select
Sheets("Service Invoice").Select
Range("B10").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Columns("C:C").EntireColumn.AutoFit
Range("E3").Select
Sheets("Service Invoice").Select
Range("B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("F3").Select
Sheets("Service Invoice").Select
Range("B12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("G3").Select
Sheets("Service Invoice").Select
Range("A15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("H3").Select
Sheets("Service Invoice").Select
Range("B15:D15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("I3").Select
Sheets("Service Invoice").Select
Range("E15").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "5/1/2007"
Range("F5").Select
End Sub


"Rex" wrote in message
news:
Bonsoir

Je planche sur le même problème depuis quelques temps déjà

Et avec l'aide des génies qui passent par ici sur leur tapis volants
(Et pour certains dans leur bouteille) ;-))))

J'arrive tout doucement vers un résultat

Pour une partie j'utilise ces lignes-ci dans une macro

Sheets("Make Offer").Range("C4").Copy
Sheets("Offers").Range("a4").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse

Il faut bien sûr remplacer les make offer etc par tes noms de feuilles
à
toi
Et bien sur la répeter pour chaque cellule de ta feuille de départ


L'autre truc que j'essaye est un peu plus compliquer et plus efficace
mais je ne la comprends pas encore très bien (MAIS ELLE FONCTIONNE)

Dans ma feuille "Make Offer" mes données sont en dessous l'une de
l'autre
en
colonne
Et dans ma feuille "Offers" elles sont en lignes (plus facile pour les
totaux etc)

FFO m'as concoster ce truc-ci


Sheets("Make Offer").Select
For Each c In Worksheets("Make Offer").Range([C13],
[C65535].End(xlUp))
Sheets("Offers").Select
For Each d In Worksheets("Offers").Range([A1], [IV1].End(xlToLeft))
If d = c Then
d.Offset(3, 0).Select
Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Mais ne me demande pas de te l'expliquer

Si cela t'intéresse, quand mon fichier sera fini (ce ne sera pas
demain)
je
pourrais te le poster si tu veux

A bientôt

Et de toute façon
il y aura sûrement quelqu'un d'intelligent qui te répondra demain

Rex








"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant
sur
un
bouton les informations que j'ai écrite sur ma facture se retranscrive
sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis















Avatar
Denis Levesque
Salut FFO

Juste une chose a dire c'est WOW

Mais je suis un débutant alors c'est dure d'adapté car je ne comprend pas
ton code

Si tu veut je peut t'envoyé mon fichier comme cela tu pourra peut-etre plus
m'aider

merci beaucoup pour ton aide

Denis

"FFO" wrote in message
news:
Salut Denis
N'ayant aucun point de repère comme pour Rex à qui j'ai réalisé une macro
généraliste m'appuyant sur des noms pour obtenir le résultat escompté je
te
propose ce code qu'il faudra adapter en fonction des recopies dans la
feuille
Client que tu souhaitera faire
Pour les cellules unique à recopier autant de lignes que de cellules à
traiter, l'équivalent de ta macro donne :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")

Pour les groupes de cellules adjacentes,
l'équivalent de ta macro donne :

Sheets("Client").Range("C3,D3") = Sheets("Service Invoice").Range("B8,C8")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")

Pour les cellules de la même feuille (ici Service Invoice)

Sheets("Service Invoice").Range("F3") = "5/1/2007"

Ce qui donne le code global suivant :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("C3,D3") = Sheets("Service
Invoice").Range("B8,C8")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")
Sheets("Service Invoice").Range("F3") = "5/1/2007"

Correspondant au résultat de ta macro sans mise en forme

Je pense que tu peux facilement l'adapter

Qu'en penses tu ???
Dis moi !!!


voici mon code
mais le probleme est que les enregistrement ne change pas de ligne elle
écrit toujours sur la meme ligne et je ne sais pas comment écrire le code
pour la faire changer de ligne

merci encore pour ton aide

Sub Bouton_Facture()
'
' Bouton_Facture Macro
' Enregistrer une facture
'
' Keyboard Shortcut: Ctrl+z
'
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("F4").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("B3").Select
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("C3").Select
Sheets("Service Invoice").Select
Range("B8:C8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D3").Select
Sheets("Service Invoice").Select
Range("B10").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Columns("C:C").EntireColumn.AutoFit
Range("E3").Select
Sheets("Service Invoice").Select
Range("B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("F3").Select
Sheets("Service Invoice").Select
Range("B12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("G3").Select
Sheets("Service Invoice").Select
Range("A15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("H3").Select
Sheets("Service Invoice").Select
Range("B15:D15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("I3").Select
Sheets("Service Invoice").Select
Range("E15").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "5/1/2007"
Range("F5").Select
End Sub


"Rex" wrote in message
news:
Bonsoir

Je planche sur le même problème depuis quelques temps déjà

Et avec l'aide des génies qui passent par ici sur leur tapis volants
(Et pour certains dans leur bouteille) ;-))))

J'arrive tout doucement vers un résultat

Pour une partie j'utilise ces lignes-ci dans une macro

Sheets("Make Offer").Range("C4").Copy
Sheets("Offers").Range("a4").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse

Il faut bien sûr remplacer les make offer etc par tes noms de feuilles
à
toi
Et bien sur la répeter pour chaque cellule de ta feuille de départ


L'autre truc que j'essaye est un peu plus compliquer et plus efficace
mais je ne la comprends pas encore très bien (MAIS ELLE FONCTIONNE)

Dans ma feuille "Make Offer" mes données sont en dessous l'une de
l'autre
en
colonne
Et dans ma feuille "Offers" elles sont en lignes (plus facile pour les
totaux etc)

FFO m'as concoster ce truc-ci


Sheets("Make Offer").Select
For Each c In Worksheets("Make Offer").Range([C13],
[C65535].End(xlUp))
Sheets("Offers").Select
For Each d In Worksheets("Offers").Range([A1], [IV1].End(xlToLeft))
If d = c Then
d.Offset(3, 0).Select
Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Mais ne me demande pas de te l'expliquer

Si cela t'intéresse, quand mon fichier sera fini (ce ne sera pas
demain)
je
pourrais te le poster si tu veux

A bientôt

Et de toute façon
il y aura sûrement quelqu'un d'intelligent qui te répondra demain

Rex








"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant
sur
un
bouton les informations que j'ai écrite sur ma facture se retranscrive
sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis















Avatar
Denis Levesque
Bonjour FFO

Je vient d'essayé ton code dans ma fonction et sa marche sauf que le numéro
de facture n'aparait pas et quand j'écrit une autre facture bien les données
ne change pas de ligne elle s'écrive par dessus celle qui était la
alors comment changer de ligne

merci beaucoup

Denis

"FFO" wrote in message
news:
Salut Denis
N'ayant aucun point de repère comme pour Rex à qui j'ai réalisé une macro
généraliste m'appuyant sur des noms pour obtenir le résultat escompté je
te
propose ce code qu'il faudra adapter en fonction des recopies dans la
feuille
Client que tu souhaitera faire
Pour les cellules unique à recopier autant de lignes que de cellules à
traiter, l'équivalent de ta macro donne :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")

Pour les groupes de cellules adjacentes,
l'équivalent de ta macro donne :

Sheets("Client").Range("C3,D3") = Sheets("Service Invoice").Range("B8,C8")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")

Pour les cellules de la même feuille (ici Service Invoice)

Sheets("Service Invoice").Range("F3") = "5/1/2007"

Ce qui donne le code global suivant :

Sheets("Client").Range("B3") = Sheets("Service Invoice").Range("F3")
Sheets("Client").Range("C3,D3") = Sheets("Service
Invoice").Range("B8,C8")
Sheets("Client").Range("D3") = Sheets("Service Invoice").Range("B10")
Sheets("Client").Range("E3") = Sheets("Service Invoice").Range("B11")
Sheets("Client").Range("F3") = Sheets("Service Invoice").Range("B12")
Sheets("Client").Range("G3") = Sheets("Service Invoice").Range("A15")
Sheets("Client").Range("H3,E3,F3") = Sheets("Service
Invoice").Range("B15,C15,D15")
Sheets("Client").Range("I3") = Sheets("Service Invoice").Range("E15")
Sheets("Service Invoice").Range("F3") = "5/1/2007"

Correspondant au résultat de ta macro sans mise en forme

Je pense que tu peux facilement l'adapter

Qu'en penses tu ???
Dis moi !!!


voici mon code
mais le probleme est que les enregistrement ne change pas de ligne elle
écrit toujours sur la meme ligne et je ne sais pas comment écrire le code
pour la faire changer de ligne

merci encore pour ton aide

Sub Bouton_Facture()
'
' Bouton_Facture Macro
' Enregistrer une facture
'
' Keyboard Shortcut: Ctrl+z
'
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("F4").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("B3").Select
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("C3").Select
Sheets("Service Invoice").Select
Range("B8:C8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D3").Select
Sheets("Service Invoice").Select
Range("B10").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Columns("C:C").EntireColumn.AutoFit
Range("E3").Select
Sheets("Service Invoice").Select
Range("B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("F3").Select
Sheets("Service Invoice").Select
Range("B12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("G3").Select
Sheets("Service Invoice").Select
Range("A15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Range("H3").Select
Sheets("Service Invoice").Select
Range("B15:D15").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("I3").Select
Sheets("Service Invoice").Select
Range("E15").Select
Selection.Copy
Sheets("Client").Select
ActiveSheet.Paste
Sheets("Service Invoice").Select
Range("F3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "5/1/2007"
Range("F5").Select
End Sub


"Rex" wrote in message
news:
Bonsoir

Je planche sur le même problème depuis quelques temps déjà

Et avec l'aide des génies qui passent par ici sur leur tapis volants
(Et pour certains dans leur bouteille) ;-))))

J'arrive tout doucement vers un résultat

Pour une partie j'utilise ces lignes-ci dans une macro

Sheets("Make Offer").Range("C4").Copy
Sheets("Offers").Range("a4").Pastespecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse

Il faut bien sûr remplacer les make offer etc par tes noms de feuilles
à
toi
Et bien sur la répeter pour chaque cellule de ta feuille de départ


L'autre truc que j'essaye est un peu plus compliquer et plus efficace
mais je ne la comprends pas encore très bien (MAIS ELLE FONCTIONNE)

Dans ma feuille "Make Offer" mes données sont en dessous l'une de
l'autre
en
colonne
Et dans ma feuille "Offers" elles sont en lignes (plus facile pour les
totaux etc)

FFO m'as concoster ce truc-ci


Sheets("Make Offer").Select
For Each c In Worksheets("Make Offer").Range([C13],
[C65535].End(xlUp))
Sheets("Offers").Select
For Each d In Worksheets("Offers").Range([A1], [IV1].End(xlToLeft))
If d = c Then
d.Offset(3, 0).Select
Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Mais ne me demande pas de te l'expliquer

Si cela t'intéresse, quand mon fichier sera fini (ce ne sera pas
demain)
je
pourrais te le poster si tu veux

A bientôt

Et de toute façon
il y aura sûrement quelqu'un d'intelligent qui te répondra demain

Rex








"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant
sur
un
bouton les informations que j'ai écrite sur ma facture se retranscrive
sur
une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis















Avatar
Denis Levesque
Salut Emmanuel

Elle ne fonctionne pas

merci quand meme

bye

"tissot.emmanuel" wrote in message
news:
Bonsoir,

Si j'ai bien compris la problématique tu utilise une feuille nommée
Service Invoice comme modele de facture et apres chaque utilisation tu
souhaite ajouter les informations dans une table contenu dans une feuille
nommée Client.

Partant de ces deux hypotheses:

Sub EnregistrerFacture()
Worksheets("Service Invoice").Activate
With Worksheets("Client")
.Range("A65536").End(xlUp).Offset(1, 0).Value = Range("A1").Value
.Range("B65536").End(xlUp).Offset(1, 0).Value = Range("A2").Value
'etc etc
'A gauche de l'égalité la colonne ou tu veux copier l'information,
a droite la source
End With
End Sub

Ce code suppose que les cellules sous la table Client soient vides.

Cordialement,

Manu/



"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur
un bouton les informations que j'ai écrite sur ma facture se retranscrive
sur une ligne a un autre endroit sur une ligne différente a chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis







Avatar
tissot.emmanuel
Bonsoir,

Elle ne fonctionne pas
Me voila fort désappointé car en toute bonne logique elle le devrait.


Ce qu'il te reste a faire c'est d'adapter les références des cellules pour
obtenir ce que tu veux.

Si par exemple la date de ta facture sur ta feuille Service Invoice est en
A5 et que tu veux la transferer dans la colonne C de ta table Client tu
ecris:

Sub EnregistrerFacture()
Worksheets("Service Invoice").Activate
With Worksheets("Client")

.Range("C65536").End(xlUp).Offset(1, 0).Value = Range("A5").Value
'A gauche la destination de la date (seule la colonne change),
'A droite la source de la date (la ligne et la colonne changent)

'Tu recopies ici la ligne précedente en adaptant les références des
cellules pour chaque info à transférer
End With
End Sub

En cas d'insucces tu peux m'envoyer moi une copie de ton fichier en
indiquant précisement ce que tu veux.

Cordialement,

Manu/

"Denis Levesque" a écrit dans le message de news:
%
Salut Emmanuel

Elle ne fonctionne pas

merci quand meme

bye

"tissot.emmanuel" wrote in message
news:
Bonsoir,

Si j'ai bien compris la problématique tu utilise une feuille nommée
Service Invoice comme modele de facture et apres chaque utilisation tu
souhaite ajouter les informations dans une table contenu dans une feuille
nommée Client.

Partant de ces deux hypotheses:

Sub EnregistrerFacture()
Worksheets("Service Invoice").Activate
With Worksheets("Client")
.Range("A65536").End(xlUp).Offset(1, 0).Value = Range("A1").Value
.Range("B65536").End(xlUp).Offset(1, 0).Value = Range("A2").Value
'etc etc
'A gauche de l'égalité la colonne ou tu veux copier l'information,
a droite la source
End With
End Sub

Ce code suppose que les cellules sous la table Client soient vides.

Cordialement,

Manu/



"Denis Levesque" a écrit dans le message de news:

Bonjour a tous

Je me suis fait une facture sous excel et j'aimerais qu'en appuyant sur
un bouton les informations que j'ai écrite sur ma facture se
retranscrive sur une ligne a un autre endroit sur une ligne différente a
chaque fois

Je ne sais pas comment faire

Est-ce qu'une ame charitable pourrais m'aider?

merci

Denis











1 2