Probléme avec NextRow

  • Initiateur de la discussion Initiateur de la discussion Macjade62
  • 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 !

Macjade62

XLDnaute Nouveau
Bonsoir à tous.

J'espére que vous avez passé n bon Week-end
J'ai besoin de vous, et espére une solution,
J'ai un petit bout de code qui ne fonctionne pas cerainement à cause de son écriture.
Range("M10:U43").Select
Sheets("STK-CMER").Select
NextRow = Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=X1PasteValues)
A l'éxécution j'obtiens soit erreur 424, soit instruction attendue?
message Paste Special à échoué

Pouvez vous m'aider, et surtout m'expliquer
Merci d'avance à tous ceux qui ce pencheront sur cette question
Bien à vous
 
Re : Probléme avec NextRow

Bonjour à tous,

Merçi de votre patience.

Je joins deux petits fichiers textes (explications et codes) écrit avec
le bloc note.

J'ai essayé d'être le plus précis possible pour vous expliquer ce que j'espére faire, gace à votre aide.

Comme je le dis dans les explications cette application va réellement être utilisée, et comme elle sera opératonnelle grâce au forum, elle sera disponible pour le forum

Merci de toute l'aide que vous m'apporté.
Bien à vous, macjade62
 
Re : Probléme avec NextRow

Bonjour encore moi,

Dans le message précédent je voulais joindre un fichier, mais apparemment il n'est pas passé.

je n'ais pas fait la bonne manipe, premiére fois que je transmet piece jointe
pouvez vous m'expliquer

merci.
 
Re : Probléme avec NextRow

re:

tu ne dois pas faire les bonnes manips

tu vas en mod avancé
gerer les pieces jointes
tu tapes le nom ou parcourir et uploader

s'il s'est chargé, le nom du fichier apparait et a droite apparait un bouton retirer

sinon en rouge tu as le pourquoi du non chargement
 
Re : Probléme avec NextRow

Bonjour

Excuser moi, je me rend compte qu'il y a réponse rapide et que le mode avancé y est attaché.
Mais mon fichier ne passe pas, ( peut être parce que c'est un fichier textej
e le colle à la suite en espérant qu'il soit cohérent.
Bonjour, et merçi d'avance pour votre interêt.

J'espére que les explications suivantes, seront claires pour vous.

la petite application, que je souhaiterai mettre au point, concerne une gestion de magasin.
Elle sera réellement utilisée par une jeune boutique "PlanetePC à Carvin (62)"
Cette application est un coup de pouce désintéressé.

Il est bien évident que l'application sera disponible pour le forum.

Cette application comprend
Gestion des articles - Liste des produits vendus, Prix achat et vente, stock dispo

Entrée en stocks par saisie des bordereaux fournisseurs,
suivie d'une ventilation dans chaque fiche de stock ( une fiche = un produit).

Dans ces fiches de stocks on traite les entrées quantitatives et le calcul
d'un prix d'achat moyen pondéré, ces valeurs sont retournées dans la liste des produits


A partir de la liste des produits, générer une facture client.


A partir de la facture client, ventiler les sorties dans chaque fiche de stock,
retourner l'information du stock disponible dans la liste des produits.

En corollaire, éditer le journal des achats et le journal des ventes.

Le classeur Excel developpé comprend les feuille suivantes

Feuille Article (une ligne définie un article)
Code famille, N° article, Désignation, Premier Prix achat, Prix d'achat pondéré
Taux de marge, code TVA, Indicateur article actif

Feuilles de stocks (une feuille par famille issu du code famille ex: c_mer)
Dans chaque feuille en colonne tous les articles rattachés à une famille
Dans chaque feuille une plage de colonnes (de A14-I14 à A65335_I65335)
listant les mouvements entrée/sorties

Feuille Facture avec entête, N° facture Nom et coordonnées clients

Liste des articles vendues, calcul du total H.T, Total TTC, Mode de réglement
Nombre de lignes disponibles 25 de E22-N22 à E46-N46
Maintenant les actions que je souhaiterais automatiser

A partir de feuille article, avec une procedure attachée à un bouton transférer
L'article à facturer dans la premiere ligne vide de la plage Feuille facture E22-E46

Lors de la validation de la facture par un bouton de commande
Lancer une edition de la facture 3 copies
Sauvegarder uniquement la facture dans Microsoft office document image vriter
Trier les articles par leur code famille et reporter les informations de sortie
dans la premiere ligne vide de la colonne A14-A65335 de lafeuille de stock
correspondant au code famille ex: Feuille C_MER
Réinitialiser la facture pour une nouvelle facture
Sauvegarder le classeur.

Voila, j'espére que mon explication vous permet de me donner des solutions efficaces,
PLusieures personnes de mon entourage me disent que c'est impossible avec EXCEL.


Aprés les explications, les codes que je pensais utiliser.

Dans la feuille article attaché au bouton "facturer"

Sheet("article").select
ActiveCell.Offset(0,5).Copy

Sheet("Facture").Select
Range("E22").Select
ActiveCell.End(xlDown)(2).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Malheuresement cela ne fonctionne pas bien


Pour la ventilation sur les fiches de stock, à partir de la facture
je pensais utiliser,en fonction des tris sélectifs

Sheet("facture").select

Range("x:y").copy destination:= Sheets("STK-CMER").range("A14" & range("65000").end(xlup).row+1).pasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Pour les autres automatisme je cherche et consulte le forum
 
Re : Probléme avec NextRow

re:

Sheet("article").select
ActiveCell.Offset(0,5).Copy

Sheet("Facture").Select
Range("E22").Select
ActiveCell.End(xlDown)(2).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

à la place, tu mets cela :

Sheets("Facture").range("E22").end(xldown)(2) = sheets("article").activecell.offset(0,5)

pour la suite, je n'ai pas vraiment compris
 
Re : Probléme avec NextRow

Bonjour Wilfried42,
Merci pour la correction du code, je vais l'essayer de suite et je te rend compte.

pour la deuxième partie c'est presque pareil, en fait la facture peut comprendre de 1 ligne mini à 25 lignes maxi, chaque ligne commence par le code famille de l'article
j'ai organisé une ventilation par feuille de stocks en utilisant, dans la feuille facture des tableaux de tris par code famille avec une formule de calcul
de type : Si(codefamile=code stock;Nom article;"") et ansi de suite pour chaque éléments (Qu, Nom article, Prix vente, date de vente). il y a un tableau de tri par code famille. ce qui donne par exemple:
si 1 c_mer vendue --->1 ligne d'info dans tableau de tri c_mer
si 2 B_mem vendues-->1 ligne d'info dans tableau de tri B_mem

ensuite, je souhaite transférer ces lignes dans les feuilles de stock correspondantes en tant que mouvements de sortie stock

en utilisant copier/coller vers 1ere ligne vide de la colonne A14-A36500

Est ce que cette explication te semble plus claire

merçi d'avance,
 
Re : Probléme avec NextRow

Re bonjour,
Wilfried42, j'ai mis en place le code suivant

Sheet("article").select
ActiveCell.Offset(0,5).Copy

Sheets("Facture").range("E22").end(xldown)(2) = sheets("article").activecell.offset(0,5)

Lors de l'éxecution j'ai le message suivant:
erreur d'exécution 438
Propriété ou méthode non géré par cet objet

lorsque je lance le débogage, c'est la partie du code

Sheets("Facture").range("E22").end(xldown)(2) = sheets("article").activecell.offset(0,5)

qui est concernée

J'avoue que je ne comprend pas

Bien à vous.
 
Re : Probléme avec NextRow

Salut MacJade62,

Que veux tu faire avec ton :
Code:
Sheets("Facture").range("E22").end(xldown)[B][COLOR=red](2)[/COLOR][/B]
Et surtout avec un 2 entre parenthèse, c'est original !

A+
 
Re : Probléme avec NextRow

Bonjour BrunoM45,

Comme tu peux le voir je ne suis pas trés fort en VBA

Si tu as suivi le fil, j'utilise les réponses obtenues et j'essaie de les mettre en place, en cherchant à comprendre le code.

Merçi de ton intérêt, mais je ne suis pas encore à un niveau où je comprends tout.

Mais au contact, de ceux qui me répondent j'apprends, et un grand merçi à tous

Si tu as du temps, reprend le fil.

Bien à vous, macjade62
 
Re : Probléme avec NextRow

re: bonjour bruno

je sais bruno, mais n'ayant jamais utilisé, ce style de recherche, j'ai laissé la ligne originale, mais je pense qu'il dois rechercher la prochaine cellule vierge
tient je vais faire des essais, j'ai encore une lacune à combler

edit: essais effectués et concluants :
Sheets("Facture").range("E22").end(xldown) --> envoie sur la derniere ligne renseignée
Sheets("Facture").range("E22").end(xldown)(2) --> envoie sur la ligne au dessous de la derniere ligne renseignée
 
Dernière édition:
Re : Probléme avec NextRow

Bonsoir,

Pour se positionner sur la dernière ligne renseignée + une, mieux vaut faire :
Code:
Sheets("Facture").Range("E22").End(xldown).Offset(1,0)

En développement, c'est "plus propre", on sait tout de suite ce que l'on veut faire.

Pour en revenir au problème de MacJade62,
Lors de l'éxecution j'ai le message suivant:
erreur d'exécution 438
Propriété ou méthode non géré par cet objet

lorsque je lance le débogage, c'est la partie du code
Sheets("Facture").range("E22").end(xldown)(2) = sheets("article").activecell.offset(0,5)

Je pense qu'il y'a un problème de référence !
Il faut essayer dans un premier temps de mettre
Code:
Sheets("Facture").range("E22").end(xldown).Offset(1,0).value = "TEST"
Si cela fonctionne c'est que le problème vient de la 2ème partie du code

Sinon tu on peut mettre la valeur dans une variable
Code:
Test = Sheets("article").activecell.offset(0,5)

Voir également ce que cela donne !

A+
 
Re : Probléme avec NextRow

Bonsoir à tous.
Heu,
😱 c'est moi qui est proposé la formule (que j'ai trouvé sur ce forum)
"ActiveCell.End(xlDown)(2).Select"
cela renvoi effectivement à la première cellule vide, en passant par en haut mais j'ai bien précisé qu'il est inpératif que le cellule suivante soit occupé. C-a-d si tu fais range("e22").....il est impératif que la cellule e23 soit occupé pour que ça aille en e24.
Si tu veux vraiment aller à E23, fait range("e21") .....en occupant au besoin et au préalable la cellule e21 et e22 par un caractère (en blanc sur blanc si invisible).
Nota : j'utilse .End(xlDown)(2).Select (passage en haut) quand le bas de la feuille est encombré de façon trop variable. Je n'ai pas trop compris le projet. Sans exemple, c'est difficile...
 
- 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

  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
694
Réponses
0
Affichages
696
Retour