Erreur lors d'un copier coller dans une macro VBA excel

Regnault

XLDnaute Nouveau
Bonjour,

Je suis en train de reprendre un fichier afin d'améliorer l'utilisation de ce dernier.
Mais j'ai une erreur que je ne comprends pas, il ne veux pas me faire le coller dans ma macro

If counter > 1 Then
For i = 1 To counter - 1
Target.Range("A21:M35").Copy
Target.Range("A21:M35").Insert Shift:=xlDown
Next i
Application.CutCopyMode = False
End If

Il me mets l'erreur sur la ligne soulignée, alors qu'il a fait le coller, en faisant le copier-coller à la main je n'ai pas de soucis.

Le fichier est pour générer un document avec les bonnes infos et une photo, et envoyer ce document en mail.

Le soucis n'est que lorsque je coche deux cases pour un même fournisseur, exemple ligne 4 et 5 de ma feuille "Liste articles" et que je vais cliquer sur le bouton "Envoyer" de la feuille "BL AUTOMATIQUE"
 

Pièces jointes

  • 20170222 - Référenciel racks - articles- soucis.xlsm
    3.4 MB · Affichages: 137

vgendron

XLDnaute Barbatruc
Bonjour
il faudrait préciser où on peut trouver cette partie de code..
et expliquer comment fonctionne le fichier
déjà. quand je veux lancer le userform, il plante car la variable i ne lui plait pas (pourtant pas vu de option explicit..??)

Target. en général est utilisé pour définir une cellule sélectionnée. (target as range) mais je vois que toi. tu l'as définie comme la feuille.. ?
 

Regnault

XLDnaute Nouveau
Bonjour,

Merci d'avoir pris le temps de regarder.

La partie du code ou il met l'erreur est dans le module 1.
Le userform se lance après avoir coché un case dans la feuille "Liste articles" et appuyé sur le bouton "Envoyer" de la feuille "BL AUTOMATIQUE".

Le Target. est ici utilisé pour sélectionner plusieurs cellules à recopier , dans ce cas "A21:M35".

Si ce n'est pas clair ne pas hésiter à redemander.

Cordialement.
 

vgendron

XLDnaute Barbatruc
je ne vois pas ce fameux bouton "envoyer"..??
il est censé appeler quelle macro?

ha si. c'est bon. complètement à droite. hors fenetre.. pas pratique du tout..


et sérieusement.. t'es sur qu'il n'y a QUE la partie postée qui bug??
parce que la. j'ai juste cliqué sur le bouton, et j'ai déjà 4 erreurs de types..
un compteur qui commence à la lettre O au lieu du chiffre zero.... et j'en passe...

la fonction Mid n'est pas connue.. il te manque des références VBA
bref.. j'ai du mal à croire que quelque chose tourne sur ce fichier..?
 
Dernière édition:

vgendron

XLDnaute Barbatruc
bon bah. courage. ne pouvant rien lancer de ton fichier, je ne vais pas pouvoir t'aider plus

j'ai juste repris ton bout de code dans un autre fichier pour faire un test
VB:
Sub test()
counter = 2
Set target = ActiveSheet

If counter > 1 Then
    For i = 1 To counter - 1
        target.Range("A21:M35").Copy
        target.Range("A21:M35").Insert Shift:=xlDown
    Next i
    Application.CutCopyMode = False
End If
End Sub

ca ne pose aucun souci
j'ai meme pensé au problème de cellule fusionnée en colonne A --> j'ai donc fait un copier de coller de la zone A21:M35 de ton fichier dans mon fichier test
idem. aucun souci...
 

Discussions similaires

Statistiques des forums

Discussions
312 106
Messages
2 085 351
Membres
102 871
dernier inscrit
Maïmanko