Macro excel 2007
bombadilom
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je dois comparer deux tableaux.
Je fais donc une boucle qui parcours le premier tableau ligne par ligne, et une boucle imbriqué qui parcours le deuxième tableau.
Quand les valeurs sont identiques, il y a copie de la ligne entière dans le premier tableau.
Sub test()
Dim numlign As Integer
Dim SAPAccount As Integer
Dim Paye As String
Dim i As Integer
Dim LignSAP As Integer
numlign = Feuil2.UsedRange.Rows.Count
numSAP = Feuil1.UsedRange.Rows.Count
SAP = Feuil2.Cells(numlign, 1).Value
For i = 1 To numlign
LignSAP = 1
For LignSAP = 1 To numSAP
If Cells(i, 1).Value = Cells(LignSAP, 1) Then
With Sheets("Feuil2")
.Range(Cells(i, 1), .Cells(ligne, 5)).Copy _
Sheets("Feuil1").Range("D5")
End With
End If
Next
Next
End Sub
Et là, patatra c'est le drame, erreur d'execution 1004.
J'ai tourné et retourné le problème mais mon cerveau a du perdre trop de neurones, je ne trouve pas ou je me suis planté.
¨Pourriez vous m'aider ?
Je dois comparer deux tableaux.
Je fais donc une boucle qui parcours le premier tableau ligne par ligne, et une boucle imbriqué qui parcours le deuxième tableau.
Quand les valeurs sont identiques, il y a copie de la ligne entière dans le premier tableau.
Sub test()
Dim numlign As Integer
Dim SAPAccount As Integer
Dim Paye As String
Dim i As Integer
Dim LignSAP As Integer
numlign = Feuil2.UsedRange.Rows.Count
numSAP = Feuil1.UsedRange.Rows.Count
SAP = Feuil2.Cells(numlign, 1).Value
For i = 1 To numlign
LignSAP = 1
For LignSAP = 1 To numSAP
If Cells(i, 1).Value = Cells(LignSAP, 1) Then
With Sheets("Feuil2")
.Range(Cells(i, 1), .Cells(ligne, 5)).Copy _
Sheets("Feuil1").Range("D5")
End With
End If
Next
Next
End Sub
Et là, patatra c'est le drame, erreur d'execution 1004.
J'ai tourné et retourné le problème mais mon cerveau a du perdre trop de neurones, je ne trouve pas ou je me suis planté.
¨Pourriez vous m'aider ?
A voir également:
- Macro excel 2007
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
2 réponses
avec un peu de recherche sur le forum (5 secondes):
https://forums.commentcamarche.net/forum/affich-1740681-vba-erreur-1004
https://forums.commentcamarche.net/forum/affich-1740681-vba-erreur-1004
Bonjour,
sur quelle ligne se produit ta 1004?
tu restitues toujours en D5 ?
sur quelle ligne se produit ta 1004?
tu restitues toujours en D5 ?
en regardant de plus près il te manque un point devant cells(i,1); piège classique avec les with en with (je me sens moins seul, merci) :-)
mais il ya peut-^tre autre chose...
d'autre part, avant tes boucles insère cette instruction
Application.screenupdating=false
qui fige le défilement de l'écran.
.Range(.Cells(i, 1), .Cells(ligne, 5)).Copy _ Sheets("Feuil1").Range("D5")
mais il ya peut-^tre autre chose...
d'autre part, avant tes boucles insère cette instruction
Application.screenupdating=false
qui fige le défilement de l'écran.