Accueil > Forum > > > > Trouver un numéro de facture dans excel pour inscrire "payé" à côté
Trouver un numéro de facture dans excel pour inscrire "payé" à côté
mercredi 4 octobre 2006 à 16:48:31 |
Trouver un numéro de facture dans excel pour inscrire "payé" à côté

b12n70
|
Bonjour à tous,
Je cherche comment localiser une valeur dans un tableau excel 2003, afin de venir écrire dans les cellules à côté.
Concrètement, ma macro est sur une facture, et quand on l'exécute, elle récupère le numéro de facture, le mode et la date de paiement, ouvre un autre classeur appelé "numérotation.xls", et (et c'est là que je plante) recherche dans la colonne K le numéro de facture, pour écrire "payé" dans la colonne L, la date en M et le mode en N.
Mon code actuel est le suivant : (désolé si le format n'y est pas, j'avoue ne pas avoir lu TOUTES les règles du forum)
Sub PayéFacture()
Dim Num As String Dim Pay As String Dim Dat As String Dim Mode As String 'Récupère les informations dans la facture :
Num = Cells(19, 3).Value Pay = Cells(60, 9).Value Dat = Cells(60, 5).Value Mode = Cells(60, 1).Value
Workbooks.Open Filename:= _ "\\DCMZZ32J\Facturation\Numérotation.xls" Sheets("Numéro").Select Columns("M:M").Select Columns.Find(What:=Num, After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate
ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Pay ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Dat ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Mode
ActiveWorkbook.Save ActiveWindow.Close End Sub
C'est apparemment la partie recherche qui coince : Je n'arrive pas à définir la colonne K comme zone de recherche.
Qui pourrait me dire où est l'erreur ?
Merci d'avance
|
|
mercredi 4 octobre 2006 à 17:03:55 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

casy
|
Bien que je ne connaisse pas VBA et que je ne comprenne pas trop ce que tu fais, dans la requete de recherche j'aurais plutot mis LookIn: = xlValues
Et d'après ce que j'ai pu en compredre dans l'aide, je n'aurais peut-etre pas précisé l'argument After: aussi
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
|
|
mercredi 4 octobre 2006 à 17:32:16 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

Molenn
|
Ben, je ne comprends pas trop. Ta formule est définie pour chercher dans la colonne M, c'est marqué en clair, il te suffit de mettre K à la place.
Ensuite, effectivement, il vaut mieux chercher une valeur plutôt qu'une formule (ça dépend comment est rentré ton n° de facture, mais je pense que çà fonctionnera mieux). Et donc, derrière, remplir tes cellules avec la valeur, et non une formule.
Ce qui donnera sur ton code :
Columns("K:K").Select Columns.Find(What:=Num, After:=ActiveCell, LookIn:=xlValues, LookAt _ :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate
Au fait, quel est l'intérêt de ceci ? ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Pay ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Dat ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Mode
Tu sélectionnes à chaque fois la même cellule, et tu remplaces 3 fois la formule, autant mettre seulement la dernière ligne. Et vu le contenu de tes variables, il est sans doute plus indiqué de mettre : Cells(1, 2).Value = Mode
Molenn
|
|
mercredi 4 octobre 2006 à 17:56:50 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

b12n70
|
Autant pour moi !
En effet, c'est K que j'ai mis, M était pour un essai...
Molenn> "Au fait, quel est l'intérêt de ceci ? ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Pay ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Dat ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Mode"
En face de mon numéro, j'inscris "payé", je me déplace d'une cellule vers la droite, j'inscris la date, puis encore à droite "chèque"
Mais cette partie fonctionne.
Je vais essayer avec "values" au lieu de" formulas", et je vous tiendrai au courant.
Merci beaucoup en attendant !
|
|
mercredi 4 octobre 2006 à 18:07:11 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

b12n70
|
Ok, c'est tout bon !
Merci pour votre aide.
A bientôt !
|
|
jeudi 5 octobre 2006 à 09:18:51 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

b12n70
|
Oups, y'a encore un souci :
La recherche ne s'effectue pas uniquement dans la colonne K. Si elle trouve une cellule contenant le n° de facture en A1, elle ecrit en A2, A3 et A4.
Pourquoi, puisque je lui ai spécifié "columns ("K:K").Select" ?
|
|
jeudi 5 octobre 2006 à 09:40:22 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

ZANUS
|
Salut, il faudrait peut-être que tu affiches le code que tu utilises finalement. Je supposses que tu as utilisé l'enregistreur, non? Tu dois avoir ça
Dim Num As String Dim Pay As String Dim Dat As String Dim Mode As String 'Récupère les informations dans la facture :
Num = Cells(19, 3).Value Pay = Cells(60, 9).Value Dat = Cells(60, 5).Value Mode = Cells(60, 1).Value Workbooks.Open Filename:= _ "Chemin de ton fichier/Nom de ton fichier" 'Ouvrir tonfichier Range("K:K").Select Cells.Find(What:=Num, After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext).Activate 'Chercher la val Num ActiveCell(1, 2) = "Pay" 'inscrire le texte Pay dans la cellule de droite de 1 '(1,2)= même ligne (1), 2è colonne ActiveCell(1, 3) = "Dat" ActiveCell(1, 4) = "Mod" Range("K1").Select ActiveWindow.Close End Sub
|
|
jeudi 5 octobre 2006 à 09:41:04 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

ZANUS
|
Salut, il faudrait peut-être que tu affiches le code que tu utilises finalement. Je supposses que tu as utilisé l'enregistreur, non? Tu dois avoir ça
Dim Num As String Dim Pay As String Dim Dat As String Dim Mode As String 'Récupère les informations dans la facture :
Num = Cells(19, 3).Value Pay = Cells(60, 9).Value Dat = Cells(60, 5).Value Mode = Cells(60, 1).Value Workbooks.Open Filename:= _ "Chemin de ton fichier/Nom de ton fichier" 'Ouvrir tonfichier Range("K:K").Select Cells.Find(What:=Num, After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext).Activate 'Chercher la val Num ActiveCell(1, 2) = "Pay" 'inscrire le texte Pay dans la cellule de droite de 1 '(1,2)= même ligne (1), 2è colonne ActiveCell(1, 3) = "Dat" ActiveCell(1, 4) = "Mod" Range("K1").Select ActiveWindow.Close End Sub
|
|
jeudi 5 octobre 2006 à 09:43:34 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

ZANUS
|
Pardon pour le double post.
|
|
jeudi 5 octobre 2006 à 10:06:27 |
Re : Trouver un numéro de facture dans excel pour inscrire "payé" à côté

Molenn
|
b12n70 :
A ma question, à quoi sert ActiveCell(1, 2).Select ActiveCell.FormulaR1C1 = Pay Je m'excuxe, je n'avais pas tilté qu'avec ActiveCell, ça se décalait. Tellement l'habitude de faire Cells(1,2) Cells(1,3) ... quand je décale mes cellules  Sinon, je viens de réessayer chez moi, je n'arrive pas à lui faire trouver ce que je cherche dans une autre colonne que celle sélectionnée. Si tu pouvais nous mettre le code de ta macro tel qu'il est à présent, ça serait mieux oui. Molenn
|
|
Cette discussion est classée dans : select, numéro, facture, mode, activecell
Répondre à ce message
Sujets en rapport avec ce message
facture et archive [ par cachcach64 ]
bjr tout le monde,voila g un pti souci!!jdoi fer une facture sur une feuille de calcul et archiver lé code... ds une otre feuille de calcul!mon code é
Erreur 1004 VBA incomprise [ par ilyaundebutatout ]
Bonjour, Je suis débutant sur VBA, je possède une feuille sur laquelle sont répertorié toutes mes factures (num facture, reférence client et date) e
[déplacé VB.NET -> VBA] macro qui modifie la plage de cellule de la somme... [ par aureLP27 ]
Bonjour, En "H4" je fais la somme "D5 à D65536" Jusque là tous va bien..[^^happy17] Je dois modifier de temps en temps la cellule de depart "D5" de
[Catégorie modifiée .Net --> VBA] Simplifier une macro mettre une boucle- [ par uspa ]
Bonjour, Je débute sur la création et la modification des macros. Soyez donc indulgents avec moi.[^^peur] J'ai enregistré une suite d'actions dans une
Incrémenter .FormulaR1C1 dans Next/For [ par CerberusPau ]
Bnjoutr, J'ai le code suivant :[code=vb]Sub Macro3() Range("B1").Select ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",RC[-1])" Range("C1
[Catégorie modifiée VB6 --> VBA] Besoin d'aide sur vb [ par CLOUAGE ]
Bonjour, J'ai conçu un masque de saisie et une boite de dialogue,mais elle veut pas ce lancer(erreur d'exécution 9 sur la boite de dialogue(ajouter u
Listing de Combinaisons [ par hmazouaud ]
Bonjour a tous, je me permet de lancer un nouveau sujet sur les combinaisons : Voici ce que je souhaite faire: [img]http://img179.imageshack.us/img17
Problème dans ma mocro de création de classeurs avec onglets relatifs [ par Eversan ]
Bonjour, J'ai un petit soucis mais je n'arrives pas à comprendre. A savoir que je suis un autodidacte qui fait ce qu'il peut pour palier son manque d
HELP PLEASE sur sélection et Loop [ par Eversan ]
Bonjour, Quelqu'un peut il m'aider ou est ce mon code qui est trop compliqué?[^^confus2] J'ai un classeur avec deux onglets, l'un "Base" qui contien
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|