Copier coller des infos avec VBA

Résolu/Fermé
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015 - 15 mars 2015 à 19:01
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015 - 17 mars 2015 à 18:26
Bonjour à tous,

je suis actuellement en train de créer une sorte de logiciel de devis-facture. Mon but est de copier coller les données saisies dans le devis sur une liste (ou base de données).
Ceci n'est pas compliqué mais le problème est que mon tableau dynamique change de taille car le devis peut contenir 5 ou 10 lignes.

j'ai donc utilisé ceci:
Sub CopieCollDétails()
' copie et colle les lignes du devis

'Déclaration des variables
Dim Cpt As Variant
Dim I As Integer

'Positionnement de départ
Sheets("Devis - A2EV").Range("b29").Activate

'copie-colle
Cpt = Range("b29").CurrentRegion.Rows.Count

For I = 1 To Cpt

et ensuite la procédure "copier-coller" de ma première ligne devis vers la liste.

Cependant, lorsque je me met en code I=vide et Cpt=Vide alors que Count=9 (ou cela varie également).

Que dois-je faire que dois-je changer?

Merci d'avance !
A voir également:

13 réponses

Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
15 mars 2015 à 22:35
Bonjour,
La suite de votre code après l'instruction : For I = 1 To Cpt
Manque... ?

0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
15 mars 2015 à 22:43
voici la suite : (je pensais qu'en déplaçant la cellule active cela fonctionnerait)

Sheets("Devis - A2EV").Select
Range("B29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[[Référence ]]").Select
ActiveSheet.Paste
Sheets("Devis - A2EV").Select
Range("C29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[Designation]").Select
ActiveSheet.Paste
Sheets("Devis - A2EV").Select
Range("D29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[Quantité]").Select
ActiveSheet.Paste
Sheets("Devis - A2EV").Select
Range("E29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[Prix Unitaire HT]").Select
ActiveSheet.Paste
Sheets("Devis - A2EV").Select
Range("F29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[Montant HT]").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Devis - A2EV").Select
Range("G29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[Prix Unitaire Brut]").Select
ActiveSheet.Paste
Sheets("Devis - A2EV").Select
Range("H29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[Montant Brut]").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Devis - A2EV").Select
Range("I29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Liste détails").Select
Range("LisDetails[Numéro devis]").Select
ActiveSheet.Paste


ActiveCell.Offset(1, 0).Activate

Next I

End Sub
0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
15 mars 2015 à 23:00
Bonjour,
Merci pour le code,
A la lecture de votre code, je comprends que vous copiez les valeurs des colonnes [C] à [I] de la ligne [29] de la feuille [Devis - A2EV] que vous collez sur la feuille [liste détails].....
Est-ce bien le cas...Oui Non
Merci de préciser ... !
Ce serait plus simple de vous comprendre avec un exemple du fichier... !

0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
15 mars 2015 à 23:10
c'est exact je copie les valeurs de b29 à I29 de la feuille Devis-A2ev sur la feuille liste détails.

je veux bien vous transmettre une copie du fichier mais cela m'est impossible sur le message, pas de pièce jointe disponible.
0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
15 mars 2015 à 23:16
Bonjour,
Pour une copie du fichier la mettre sur https://www.cjoint.com/ et poster le lien sur votre message.

0

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

Posez votre question
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
15 mars 2015 à 23:20
https://www.cjoint.com/?3CpxFx8MQcv

Ci joint le lien avec une version simplifiée de mon devis (pour des raisons de confidentialité)

merci de votre aide
0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
15 mars 2015 à 23:28
Bonjour et bonsoir,
Merci pour le fichier.
Il se fait tard, ma réponse demain.

0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
16 mars 2015 à 09:27
Bonjour,
Pouvez-vous préciser les valeurs à prendre en compte pour les colonnes nommées [Colonne1] à [Colonne4] de la feuille [liste de détails]... ?
Merci.

0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
16 mars 2015 à 10:28
Bonjour, je ne copie aucune valeur dans ces colonnes je les ai laissé car je m'en étais servi pour des tests
0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
16 mars 2015 à 11:45
je tiens également à préciser que j'ai essayé avec la variable
Dim Cpt as integer
et que cela n'a rien changé.

Cordialement
0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
16 mars 2015 à 17:12
Bonjour,
Merci pour les informations.
Je suis enfin de retour, ma proposition dans la soirée.

0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
16 mars 2015 à 21:50
Merci d'avance j essaie également de mon côté
0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
16 mars 2015 à 22:43
Bonjour,
Ma proposition se base du tableau Excel structuré que vous utilisez pour vos données du devis.
J'espère que c'est dans le bon sens !
Votre exemple : https://www.cjoint.com/c/ECqw2mAaRuI

0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
17 mars 2015 à 11:27
Parfait ! merci beaucoup vraiment ! je continues mon logiciel dans l'espoir de ne pas rencontrer trop de difficultés !

Cdlt.
0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
17 mars 2015 à 12:11
Bonjour,

effectivement j'ai des difficultés... ce que vous avez réalisé est parfait le seul problème est que les données recopiées ne se mettent pas dans une liste( tableau dynamique) donc je ne peux pas m'en servir pour faire de recherche V... je ne sais plus quoi faire....
0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
17 mars 2015 à 12:50
Solution trouvée , autres problèmes à gérer ...
0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
17 mars 2015 à 18:22
Bonjour,
Ce qui est faux, chaque fonction est utilisable avec un tableau normal ou un tableau structuré...!
Salutations.
Le Pingou
0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
17 mars 2015 à 16:40
Bonjour à tous,

mon second problème ici est que je souhaite transformer mon devis en facture, mais un devis déjà transformé en facture ne peut être modifié. Or je cherche à intégrer une macro pour bloquer le numéro de devis si déjà transformé. Besoin d'aide SVP..

Merci d'avance à tous!
Salutations
0
Le Pingou Messages postés 12141 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 septembre 2024 1 446
17 mars 2015 à 18:23
Bonjour,
Merci, content pour vous.
Note, il est préférable que votre nouvelle demande soit l'objet d'un nouveau poste.

0
mds23 Messages postés 18 Date d'inscription dimanche 15 mars 2015 Statut Membre Dernière intervention 12 avril 2015
17 mars 2015 à 18:26
Ok , merci, je fais cela immédiatement.

Clt.
0