Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA :copie insere et coller qui marche pas

  • Initiateur de la discussion Initiateur de la discussion bigs32
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bigs32

XLDnaute Junior
bonjour
j'ai un fichier ci-dessous test.xls .j'ai crée un macro copier qui permet de copier la zone selectionnée de l'onglet stats_sales_imp vers l'onglet feuil1.
mais avant de coller , j'aimerais insérer dans feuil1 le nombre de ligne de la zone selectionnée de l'onglet stats_sales_imp.
j'ai essayé plusieurs méthodes aucun ne marche .
ca bloque toujours sur l'erreur ActiveSheet.Paste.
je ne comprends rien du tout .Ca fait 3h que je suis dessus.Si vous avez une idée .merci vraiment d'avance
voici le code et le fichier test.xls
 

Pièces jointes

Re : VBA :copie insere et coller qui marche pas

Bonjour

je pense que ton resize vide le buffer, donc il n'y a plus rien à coller

1/déterminer combien de lignes à insérer
2/insérer
3/copier
4/coller

cela devrait être mieux
 
Re : VBA :copie insere et coller qui marche pas

Bonjour,
Je suis d'accord avec Eric, Copy -> Paste doivent se suivre. Mais je vois autre chose. Je ne sais pas si je n'ai pas tout lu mais si zonecol est bien un range (plage de cellules)
nblignes = zonecol.Count ne donne pas le nombre de lignes. Pour l'avoir, il me semble qu'ici il faut mettre
nblignes = zonecol.Rows.Count
Sauf erreur de ma part dans la lecture du code proposé.
Bonne journée
 
Re : VBA :copie insere et coller qui marche pas

Bonjour à tous


Toujours pour honorer mes endives, et pour éviter les Select et les boucles

(code brut de décoffrage , pas de gestion d'erreur )
Code:
Sub Macro1()
Sheets.Add.Name = "COPIE"
With Sheets("stats_sales_imp")
    .[A1].AutoFilter Field:=12, Criteria1:="<>"
    .[_FilterDataBase].SpecialCells(12).Copy Sheets("COPIE").[A1]
    .AutoFilterMode = False
End With
Sheets("COPIE").Range("B:C,E:K,M:Q,S:S").Delete
End Sub
 
Re : VBA :copie insere et coller qui marche pas

bizarre zonecol.Rows.Count donne toujours 1
 
Re : VBA :copie insere et coller qui marche pas

Re

[EDITION] voici une version qui devrait éviter ce désagrément
Code:
Sub Macro1()
If fex("COPIE") Then
Application.DisplayAlerts = False
Sheets("COPIE").Delete
Application.DisplayAlerts = True
Else
Sheets.Add.Name = "COPIE"
With Sheets("stats_sales_imp")
    .[A1].AutoFilter Field:=12, Criteria1:="<>"
    .[_FilterDataBase].SpecialCells(12).Copy Sheets("COPIE").[A1]
    .AutoFilterMode = False
End With
Sheets("COPIE").Range("B:C,E:K,M:Q,S:S").Delete
End If
End Sub
Code:
Function fex(ByVal ws$) As Boolean
On Error Resume Next
fex = (Sheets(ws).Name <> "")
On Error GoTo 0
End Function
[/EDITION]


Message original
Cela c'est normal comme je le disais
(code brut de décoffrage , pas de gestion d'erreur )
mais tu n'avais pas dit que tu exécutais la macro 2 fois 😕

Car en faisant cela tu créés une feuille qui existe déjà (la feuille COPIE)
d'ou le bug
 
Dernière édition:
Re : VBA :copie insere et coller qui marche pas

Re

bigs32
Même question que tout à l'heure
Tu as testé la version modifiée ?


NB: en général, il est conseillé d'éviter les Select , Activate et cie


PS: dans ton code , tu ne déclares pas tes variables.
Pourquoi ?
 
Re : VBA :copie insere et coller qui marche pas

Re

bigs32
Et si tu cliques une 3ème fois, cela te récréera ton onglet COPIE

Question: que veux-tu faire exactement ?

Mon code se borne à filtrer* les cellules non vides de la colonne qty cmd ok
puis à copie le résultat de ce filtre sur une nouvelle feuille nommée COPIE
(si cette feuille existe déjà , elle est supprimée)

(* en utilisant le filtre automatique avec VBA )
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…