begin process at 2012 02 15 15:49:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Trouver un numéro de facture dans excel pour inscrire "payé" à côté


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Membre Club

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

1 2

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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales