Vba excel : importer données.
Juliette92
-
Juliette92 -
Juliette92 -
Bonjour à tous,
Je débute en Vba excel et je suis en train de créer moi même un petit fichier. Mon premier code est fait mais sans que je ne trouve où se trouve le problème, tout ne fonctionne pas comme prévu.
Je vous montre mon code :
En fait je souhaiterais à l'ouverture effacer le tableau existant (cela marche), importer les données de deux autres fichiers excel (cela marche) et d'aller chercher dans un des deux fichiers des données qui complètent la liste importée. Si quelqu'un voit où peut se trouver l'erreur, je suis preneur !!!
Private Sub Workbook_Open()
Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("A3:T10000").ClearContents
Workbooks.Open "z:\mes documents\Dailly X\Classeur Commun X.xls"
With Workbooks("Classeur Commun X.xls")
derliga = .Sheets("Factures en attente").Range("B30000").End(xlUp).Row
.Sheets("Factures en attente").Range(.Sheets("Factures en attente").Cells(2, 1), .Sheets("Factures en attente").Cells(derliga, 20)).Copy Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("A3")
End With
Workbooks.Open "z:\mes documents\Dailly X\IAR Commun X.xls"
derlign = Workbooks("IAR Commun X.xls").Sheets("IAR en attente").Range("B30000").End(xlUp).Row
If derlign <> 1 Then
derligne = Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("B30000").End(xlUp).Row
derligne = derligne + 1
With Workbooks("IAR Commun X.xls")
.Sheets("IAR en attente").Range(.Sheets("IAR en attente").Cells(2, 1), .Sheets("IAR en attente").Cells(derlign, 20)).Copy Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("A" & derligne)
End With
Workbooks("IAR Commun X.xls").Close
End If
If derlign = 1 Then
Workbooks("IAR Commun X.xls").Save
Workbooks("IAR Commun X.xls").Close
Call Procédure1
End If
Call Procédure1
Workbooks("Classeur Commun X").Save
Workbooks("Classeur Commun X").Close
End Sub
Private Sub Procédure1()
AA = Feuil1.Range("B30000").End(xlUp).Row
BB = Feuil1.Range("Q" & AA).End(xlUp).Row
If BB = 2 Then
Exit Sub
End If
If BB > 2 Then
cherche = Range("C" & BB).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Call Procédure1
End If
cherche = Range("C" & BB).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Call Procédure1
End Sub
Merci d'avance à tout ceux qui s'attarderont sur mon problème.
Je débute en Vba excel et je suis en train de créer moi même un petit fichier. Mon premier code est fait mais sans que je ne trouve où se trouve le problème, tout ne fonctionne pas comme prévu.
Je vous montre mon code :
En fait je souhaiterais à l'ouverture effacer le tableau existant (cela marche), importer les données de deux autres fichiers excel (cela marche) et d'aller chercher dans un des deux fichiers des données qui complètent la liste importée. Si quelqu'un voit où peut se trouver l'erreur, je suis preneur !!!
Private Sub Workbook_Open()
Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("A3:T10000").ClearContents
Workbooks.Open "z:\mes documents\Dailly X\Classeur Commun X.xls"
With Workbooks("Classeur Commun X.xls")
derliga = .Sheets("Factures en attente").Range("B30000").End(xlUp).Row
.Sheets("Factures en attente").Range(.Sheets("Factures en attente").Cells(2, 1), .Sheets("Factures en attente").Cells(derliga, 20)).Copy Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("A3")
End With
Workbooks.Open "z:\mes documents\Dailly X\IAR Commun X.xls"
derlign = Workbooks("IAR Commun X.xls").Sheets("IAR en attente").Range("B30000").End(xlUp).Row
If derlign <> 1 Then
derligne = Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("B30000").End(xlUp).Row
derligne = derligne + 1
With Workbooks("IAR Commun X.xls")
.Sheets("IAR en attente").Range(.Sheets("IAR en attente").Cells(2, 1), .Sheets("IAR en attente").Cells(derlign, 20)).Copy Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("A" & derligne)
End With
Workbooks("IAR Commun X.xls").Close
End If
If derlign = 1 Then
Workbooks("IAR Commun X.xls").Save
Workbooks("IAR Commun X.xls").Close
Call Procédure1
End If
Call Procédure1
Workbooks("Classeur Commun X").Save
Workbooks("Classeur Commun X").Close
End Sub
Private Sub Procédure1()
AA = Feuil1.Range("B30000").End(xlUp).Row
BB = Feuil1.Range("Q" & AA).End(xlUp).Row
If BB = 2 Then
Exit Sub
End If
If BB > 2 Then
cherche = Range("C" & BB).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Call Procédure1
End If
cherche = Range("C" & BB).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Call Procédure1
End Sub
Merci d'avance à tout ceux qui s'attarderont sur mon problème.
A voir également:
- Vba excel : importer données.
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Déplacer colonne excel - Guide
2 réponses
Je m'apercois en travaillant dessus que ma question est bien confuse tout comme mon code alors après avoir apporter quelques modifications je vais poser une question plus simple :
Si je connais ma première ligne (3) et ma dernière (AA) comment faire la procédure suivante pour toutes les lignes comprises dans cette intervalle ?
:
cherche = Range("C" & BB).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Merci
Si je connais ma première ligne (3) et ma dernière (AA) comment faire la procédure suivante pour toutes les lignes comprises dans cette intervalle ?
:
cherche = Range("C" & BB).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & BB) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Merci
Malheureusement je pensais que For i marcherait mais il ne se passe rien... j'ai vraiment besoin d'aide. Si quelqu'un a une idée de ce qui ne fonctionne pas dans ce code. Je suis vraiment embêtée... Merci de votre aide
AA = Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("B30000").End(xlUp).Row
For i = 3 To AA
cherche = Range("C" & i).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Next i
AA = Workbooks("Risques Dailly.xls").Sheets("Feuil1").Range("B30000").End(xlUp).Row
For i = 3 To AA
cherche = Range("C" & i).Value
CC = Workbooks("Classeur Commun X.xls").Sheets("Clients").Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Range("L" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("P" & CC).Value
Range("M" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("H" & CC).Value
Range("N" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("F" & CC).Value
Range("P" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("K" & CC).Value
Range("Q" & i) = Workbooks("Classeur Commun X.xls").Sheets("Clients").Range("Q" & CC).Value
Next i