simlan
Messages postés4Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention24 avril 2006
-
23 avril 2006 à 11:01
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
24 avril 2006 à 17:55
Bonjour,
J'ai besoin d'aide concernant une recherche sous excel.
J'ai 2 fichiers. Le premier contient une date de création; un code article; un fournisseur et un tarif et fait environ 3000 lignes. Le deuxième contient un code article; un fournisseur et un tarif fait environ 200 lignes et est crée une fois par semaine.
Je dois mettre à jour le premier fichier à l'aide du deuxième. Si un code article du deuxième fichier n'existe pas dans le premier, je dois rajouter une ligne contenant la date du jour; le code article et le fournisseur à la fin du premier fichier. Par contre si ce code article existe, je dois rajouter le nouveau fournisseur et le nouveau prix à la suite de l'ancien fournisseur et de l'ancien prix sur la même ligne dans le premier fichier.
Je débute en programmation VBA et j'ai du mal à trouver quelle fonction utiliser.
Quelqu'un peut m'aider?
Dim CodeArcticle (1 To CountTableau) As String, CodeExiste As Boolean
Dim z As Long, i As Long, j As Long
For i = 1 To CountTableau
CodeArticle(i) = Cells(i, 1).Value
Next i
WorkBooks("nomfichier1.xls").Activate
z = 1
SautX:
CodeExiste = False
For j = 1 To PLVfichier1
If Cells(j, 2).Value CodeArticle(z) Then CodeExiste True
Next j
If CodeExiste = False Then
WorkBooks("nomfichier2.xls").Activate
Rows(z).Copy
WorkBooks("nomfichier2.xls").Activate
Cells(PLVfichier1, 2.Select
Selection.Paste
Cells(PLVfichier1, 1).Value = Date
PLVfichier1 = PLVfichier1 + 1
End If
z = z + 1
If z = PLVfichier1 then GoTo SautY
GotoSautX
SautY:
Application.DisplayAlerts = False
WorkBooks("nomfichier2.xls").Close
Application.DisplayAlerts = True
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 23 avril 2006 à 12:05
en relisant j'ai vu 2 erreurs de ma part :
If CodeExiste = False Then
WorkBooks("nomfichier2.xls").Activate
Rows(z).Copy
WorkBooks("nomfichier2.xls").Activate (c pas nomfichier2 mais nomfichier1)
Cells(PLVfichier1, 2.Select (avant .select, j'ai omis la parenthèse)
Selection.Paste
Cells(PLVfichier1, 1).Value = Date
PLVfichier1 = PLVfichier1 + 1
End If
simlan
Messages postés4Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention24 avril 2006 23 avril 2006 à 13:19
Merci beaucoup pour ton aide.
J'ai testé le code et a chaque fois il me dit qu'une constante est requise sur CountTableau. Lorsque je remplace CountTableau par un nombre, je recois "sub ou function non defini" sur "CodeArticle(i) ="
Ca te parle?
Vous n’avez pas trouvé la réponse que vous recherchez ?