VBA excel

Fermé
benzzz23 Messages postés 2 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 26 février 2007 - 2 févr. 2007 à 13:35
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 2 févr. 2007 à 15:50
Bonjjour à tousssssss
merci d'avance pour l'aide


je dois réaliser une saisie automatique ,j'ai un fichier excel qui contient les factures saisi, je voudrai lorsque je saisie le numéro du fournisseur cela met automatiquemt son nom.

voici debut de mon pgm ms il ne fonctionne pas

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 02/02/2007 par Crown
'

'
Dim Lig1 As Long
Dim Col1 As String
Dim NbrLig1 As Long
Dim NumLig1 As Long

Sheets("feuil1").Activate ' feuille de destination
NbrLig2 = Sheets("feuil1").Cells(65536, Col).End(xlUp).Row
Col1 = "A" ' colonne données non vides à tester'
NumLig1 = 0 'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
.Cells(Lig1, Col1).Copy
.Cells(Lig1, Col1).Select
Sheets("feuil1").Cells(NbrLig2, "E").Paste
With Sheets("feuil3") ' feuille source'
NbrLig1 = .Cells(65536, Col).End(xlUp).Row
For Lig1 = 0 To NbrLig1 'n° de la 1ere ligne de données'
If Sheets("feuil3").Cells(Lig1, Col1).Value = Sheets("feuil1").Cells(NbrLig2, "D").Value Then

.Cells(Lig1, Col1).Select
.Cells(Lig1, Col1).Copy
Sheets("feuil1").Cells(NbrLig2, "E").Paste
End If

Next
End With


End Sub

Encore merci
A voir également:

1 réponse

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
2 févr. 2007 à 15:50
Bonjour,

il y a pas mal de choses "bizares" dans le code :

1) COL n'est pas défini
2) .Cells(Lig1, Col1).Copy et .Cells(Lig1, Col1).Select ne sont pas dans un bloc WITH
3) If Sheets("feuil3").Cells(Lig1, Col1).Value = est par contre dans un bloc WITH

au delà de cela, tu devrais peut-être t'orienter vers un WORKSHEETFUNCTION.VLOOKUP(......) pour faire ton rapatriement du nom de fournisseur à partir de son n°

A+
0