J'ai créer une macro "Archiver" et je ne trouve pas ce qui ne fonctionne pas le problème. Quelqu'un peut m'aider? Voici un imprime écran.
J'ai créer une macro "Archiver" et je ne trouve pas ce qui ne fonctionne pas le problème. Quelqu'un peut m'aider? Voici un imprime écran.
Bonjour
Quel est le message d'erreur ?
Le mode debug à ce moment donne quoi comme valeur pour ligne ?
Chris
PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
----------------------------------------------------------------------------------------------
En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...
Salut.
Si tu n'as encore rien en A2, End(XlDown) te fait plonger en A1048576 (dernière ligne de la feuille). Si tu essaies de descendre plus bas (ton +1), Boum, tu sors des limites.
Tu aurais intérêt à travailler dans l'autre sens ( range("a1048576").End(xlUp).row +1).
Mieux, travailler avec des tableaux structurés. Tu pourrais alors très facilement ajouter une ligne au tableau et travailler avec cette ligne.
Par exemple, avec un tableau structuré placé en A1 de la feuille "Historique_Facture":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub ArchiveFacture() Dim lr As ListRow Dim Source As Worksheet Set Source = Worksheets("Facture") Set lr = Sheets("historique_Facture").Range("a1").ListObject.ListRows.Add() With lr .Range(1) = Source.Range("j4").Value .Range(2) = Source.Range("i7").Value ... ... End With End Sub
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Vérifie la valeur de la variable Ligne comme demandé par Chris (par exemple en passant la souris dessus ou en affichant les variables locales)...
... et teste éventuellement ma solution. Elle te simplifiera la vie
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
J'ai essayé ce que tu m'as proposé mais ça fonctionne toujours pas. Voici donc mon fichier excel. FACTURETEST.xlsm
Ton historique n'est pas un tableau structuré.
Pour transformer ta plage en tableau structuré:
tu te places dans la ligne d'entête;
tu vas sur Insertion>Tableau;
tu valides la plage;
via le ruban spécifique (visible lorsque tu actives une cellule du tableau), tu le renommes.
Tu as alors un tableau structuré avec lequel tu peux travailler.
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager