Recopier une plage de cellules

Résolu/Fermé
saolaneducado - 16 janv. 2014 à 08:49
 saolaneducao - 17 janv. 2014 à 08:08
Bonjour,

Je suis presque arrivé au bout de mon problème, mais seulement presque!

Je voudrais sélectionner un plage de cellule (3cellules contiguës) dans ma "feuille1" et la recopier dans un tableau dans une "Feuille2" à partir de la cellule A2 et aussi souvent qu'il y a quelque chose dans les cellules de la colonne D du même tableau.
Est ce possible? Je ne trouve pas la solution. J'arrive à recopier mais je n'arrive pas à limiter le nombre par rapport aux cellules de droite ni même à positionner les valeurs au bon endroit.

Merci pour votre aide.

10 réponses

Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
16 janv. 2014 à 10:32
Bonjour,
Mettre le fichier, avec ce que vous avez réalisé, sur https://www.cjoint.com/ et poster le lien.

0
saolaneducado
16 janv. 2014 à 12:34
http://cjoint.com/?0AqmBugByVk

Bonjour et merci de vous pencher sur mon problème.
Mon soucis est de copier le détail du corps de la feuille "cotation" sur la feuille "Details_C".
Pour celà je vais utiliser le code VBA du module "Detail_C". La copie des lignes fonctionnent bien et se positionne correctement, mais à gauche de celles ci je voudrai copier les cellules "M2:O2" de la feuille cotation. en fait, je voudrai sur chaque ligne de commande les infos code client, N) de commande et Date.
je pensais faire une recopie mais je n'y arrive pas. En fait, je crois tout simplement que j'ai atteint mes limites.
Merci pour votre aide.
Cordialement
0
saolaneducado
16 janv. 2014 à 17:38
Pardon ! j'ai oublié le pot de passe est 3382236 pour toutes les feuilles.

Merci pour votre aide
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
16 janv. 2014 à 16:20
Bonjour,
Merci pour le fichier.
Désolé, je ne travaille pas sur des fichiers avec protection par mot de passe.


0
Bonjour

voila ta macro detail modifier

' Compteur de Ligne compatible tous Excel
' Range("A" & Rows.Count).End(xlUp).Row

Sub detail()
Dim Plage As Range
Dim Cpt As String
Dim Nlig As Long
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Nlig = Range("A34").End(xlUp).Row
Set Plage = Range("A2:I" & Nlig)
Plage.Copy
Feuil23.Range("D" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
Set Plage = Nothing ' Libère l'objet
Application.CutCopyMode = False
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
Range("A2").Select
End Sub

pour le reste
donne un fichier avec cotation et Détail
et avec les champs remplie pour voir ce que tu veux exactement

A+
Maurice
0
saolaneducado
16 janv. 2014 à 19:57
merci pour cette macro, mais elle recopie le titre.

En fait, l'objectif est de stocker le détail de ma feuille cotation dans la feuille Details_C en ajoutant sur chaque ligne les champs m2 à O2 de la feuille cotation.

La seule chose que je n'arrive pas à récupérer ce sont ces champs et limiter leur recopie au nombre de ligne du corps de la cotation.

Je met en rouge dans la feuille "details_C" les données que je n'arrive pas à insérer correctement.

Si tu peux me donner une explication de ta macro je prends également et me dire ce qu'elle est censée faire. Je dois peut être modifier certaines choses.

Merci pour ton aide. J'apprécie vraiment d'autant plus que je suis bloqué.

http://cjoint.com/?3Aqt5wGZYBV
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re

la sa doit marcher

Sub detail()
Dim Plage As Range
Dim Cpt As String
Dim Nlig As Long
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Nlig = Range("A34").End(xlUp).Row
Dlig = Feuil23.Range("A" & Rows.Count).End(xlUp).Row + 1
Flig = (Nlig + Dlig) - 2
Comercial = Range("P2").Value
Range("M2:O2").Copy
For L = Dlig To Flig
Range("M2:O2").Select
Feuil23.Range("A" & L).PasteSpecial xlPasteValues
Feuil23.Range("M" & L).Value = Comercial
Next
Set Plage = Range("A2:I" & Nlig)
Plage.Copy
Feuil23.Range("D" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
Set Plage = Nothing ' Libère l'objet
Application.CutCopyMode = False
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
Range("A2").Select
End Sub

lancer la macro dans la feuille Cotation

A+
Maurice
0
saolaneducado
16 janv. 2014 à 21:19
merci mais j'ai le même résultat si je la lance d'un module et une erreur 1024 si je la lande la feuille.

Je suis désolé de t'embêter avec ca.

merci pour ton aide
0
Bonsoir

Voila ton fichier modifier

http://cjoint.com/?DAqvu1YakPV

bon je vais aller au dodo

A+
Maurice
0
saolaneducado
17 janv. 2014 à 07:53
oui c'est celà mais pour chaque nouvel enregistrement qui peut peut être de longueur différent.

Merci pour ton aide
0
saolaneducao
17 janv. 2014 à 08:04
Bonjour,

Le premier enregistrement fonctionne mais pas les suivants. Ton code est super bien pour la simplification du mien. Par contre il ne manque dans les nouveaux enregistrements les cellules code client N° de commande Date et commercial.

Merci pour ton aide
0
saolaneducao
17 janv. 2014 à 08:08
En fait cela fonctionne si en fin de procédure j'active la feuille "cotation". super merci beaucoup.
0