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

Pour FFO et les autres si ils veulent MACRO copier-coller

3 réponses
Avatar
rthompson
Bonjour

Je reviens vers toi et n'importe qui que cela intéresse

Il y a quelques jours tu m'as fait la macro suivante

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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 _
:=False, Transpose:=False
End If
Next
Next
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Tout vas bien je te remercie

Mais j'ai un peu changé mes feuilles

AVANT

J'avais dans ma colonne C les nom de mes produits
et en D, E, F les quantité, prix et totaux

Tout cela était mis en place sur la feuille "Offers"

MAINTENANT

Je dois également tenir compte du bénéfice par article
Ce montant ce trouve sur la même ligne que les Quantité, prix, et totaux
mais dans la colonne J

Sur ma feuille "Offres" je dois donc insérer une colonne pour chaque produit
et y copier la valeur de J

Je me disais qu'il fallait simplement jouer avec l'offset et changer le 3 en
6 (si F est 3, J est 6)
Mais il n'indique plus rien

Que fais-je de mal?


Rex

3 réponses

Avatar
FFO
Salut à toi
Je suppose que tu veux changer l'offset 3 pour l' offset 6 dans l'instruction:

Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Qui donnerait
Range(c.Offset(0, 1), c.Offset(0, 6)).Copy

Dans cette hypothése tu vas récupérerles cellules suivantes en partant de la
cellule de base représentait par la variable c qui est la cellule colonne C
et d'indice 0 les cellules aux colonnes :
D,E,F,G,H,I (indice offset 1,2,3,4,5,6)
Snif !!!! par la J !!!!
C'est ignoble !!!!
Et non malheureusement il faut aller jusqu'à 7 pour l'offset mais de
récupérer toutes les cellules D à J !!!
N'est ce pas génant
Dans l'affirmative je te propose de laisser l'offset considéré en l'état et
de lui faire suivre aprés:
:úlse, Transpose:úlse
les 2 instructions suivantes qui devraient faire :
d.Offset(3, 3).Select
c.Offset(0,7).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Qu'en dis tu !!!
N'ayant pas testé vite rassure moi
Je t'attends !!!



Bonjour

Je reviens vers toi et n'importe qui que cela intéresse

Il y a quelques jours tu m'as fait la macro suivante

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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
End If
Next
Next
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Tout vas bien je te remercie

Mais j'ai un peu changé mes feuilles

AVANT

J'avais dans ma colonne C les nom de mes produits
et en D, E, F les quantité, prix et totaux

Tout cela était mis en place sur la feuille "Offers"

MAINTENANT

Je dois également tenir compte du bénéfice par article
Ce montant ce trouve sur la même ligne que les Quantité, prix, et totaux
mais dans la colonne J

Sur ma feuille "Offres" je dois donc insérer une colonne pour chaque produit
et y copier la valeur de J

Je me disais qu'il fallait simplement jouer avec l'offset et changer le 3 en
6 (si F est 3, J est 6)
Mais il n'indique plus rien

Que fais-je de mal?


Rex






Avatar
rthompson
Bonjour

A première vue cela fonctionne impeccable

Je te tiens au courant une fois que j'aurais fait toute mes colonnes

Rex qui retrouve son ;-)))))))))))))
"FFO" a écrit dans le message de news:

Salut à toi
Je suppose que tu veux changer l'offset 3 pour l' offset 6 dans
l'instruction:

Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Qui donnerait
Range(c.Offset(0, 1), c.Offset(0, 6)).Copy

Dans cette hypothése tu vas récupérerles cellules suivantes en partant de
la
cellule de base représentait par la variable c qui est la cellule colonne
C
et d'indice 0 les cellules aux colonnes :
D,E,F,G,H,I (indice offset 1,2,3,4,5,6)
Snif !!!! par la J !!!!
C'est ignoble !!!!
Et non malheureusement il faut aller jusqu'à 7 pour l'offset mais de
récupérer toutes les cellules D à J !!!
N'est ce pas génant
Dans l'affirmative je te propose de laisser l'offset considéré en l'état
et
de lui faire suivre aprés:
:úlse, Transpose:úlse
les 2 instructions suivantes qui devraient faire :
d.Offset(3, 3).Select
c.Offset(0,7).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Qu'en dis tu !!!
N'ayant pas testé vite rassure moi
Je t'attends !!!



Bonjour

Je reviens vers toi et n'importe qui que cela intéresse

Il y a quelques jours tu m'as fait la macro suivante

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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
End If
Next
Next
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Tout vas bien je te remercie

Mais j'ai un peu changé mes feuilles

AVANT

J'avais dans ma colonne C les nom de mes produits
et en D, E, F les quantité, prix et totaux

Tout cela était mis en place sur la feuille "Offers"

MAINTENANT

Je dois également tenir compte du bénéfice par article
Ce montant ce trouve sur la même ligne que les Quantité, prix, et totaux
mais dans la colonne J

Sur ma feuille "Offres" je dois donc insérer une colonne pour chaque
produit
et y copier la valeur de J

Je me disais qu'il fallait simplement jouer avec l'offset et changer le 3
en
6 (si F est 3, J est 6)
Mais il n'indique plus rien

Que fais-je de mal?


Rex








Avatar
rthompson
Et à deuxième vue aussi ;-))))))))))

Je suis même parvenu à l'adapter pour ma feuille Conclude Sale

Le plus long dans tous ces trucs est que comme je travaille avec des
INDIRECT
chaque fois que j'insère une colonne, je dois manuellement tout adapter

Y a-t-il une limite au nombre de noms que l'on peut utiliser?

A première vue si je choisi cette voie là, cela me fera au moins une
centaine de noms


En tous lers cas merci pour ton aide

As-tu une idée pour mon autre problème?

voir le fil VBA Suprimer une ligne en fonction d'une cellule


A bientôt

Et encore MERCI MERCI MERCI

Rex de plus en plus ;-)))))))))))))))))))))))))))))))))))))))))





"rthompson" a écrit dans le message de
news:
Bonjour

A première vue cela fonctionne impeccable

Je te tiens au courant une fois que j'aurais fait toute mes colonnes

Rex qui retrouve son ;-)))))))))))))
"FFO" a écrit dans le message de news:

Salut à toi
Je suppose que tu veux changer l'offset 3 pour l' offset 6 dans
l'instruction:

Range(c.Offset(0, 1), c.Offset(0, 3)).Copy
Qui donnerait
Range(c.Offset(0, 1), c.Offset(0, 6)).Copy

Dans cette hypothése tu vas récupérerles cellules suivantes en partant de
la
cellule de base représentait par la variable c qui est la cellule colonne
C
et d'indice 0 les cellules aux colonnes :
D,E,F,G,H,I (indice offset 1,2,3,4,5,6)
Snif !!!! par la J !!!!
C'est ignoble !!!!
Et non malheureusement il faut aller jusqu'à 7 pour l'offset mais de
récupérer toutes les cellules D à J !!!
N'est ce pas génant
Dans l'affirmative je te propose de laisser l'offset considéré en l'état
et
de lui faire suivre aprés:
:úlse, Transpose:úlse
les 2 instructions suivantes qui devraient faire :
d.Offset(3, 3).Select
c.Offset(0,7).Copy
Selection.Pastespecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse

Qu'en dis tu !!!
N'ayant pas testé vite rassure moi
Je t'attends !!!



Bonjour

Je reviens vers toi et n'importe qui que cela intéresse

Il y a quelques jours tu m'as fait la macro suivante

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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
End If
Next
Next
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Tout vas bien je te remercie

Mais j'ai un peu changé mes feuilles

AVANT

J'avais dans ma colonne C les nom de mes produits
et en D, E, F les quantité, prix et totaux

Tout cela était mis en place sur la feuille "Offers"

MAINTENANT

Je dois également tenir compte du bénéfice par article
Ce montant ce trouve sur la même ligne que les Quantité, prix, et totaux
mais dans la colonne J

Sur ma feuille "Offres" je dois donc insérer une colonne pour chaque
produit
et y copier la valeur de J

Je me disais qu'il fallait simplement jouer avec l'offset et changer le
3 en
6 (si F est 3, J est 6)
Mais il n'indique plus rien

Que fais-je de mal?


Rex