VBA, problème dans ma fonction IF
Résolu/Fermé
gathou13
Messages postés
12
Date d'inscription
mardi 22 juillet 2014
Statut
Membre
Dernière intervention
30 juillet 2014
-
22 juil. 2014 à 11:15
gathou13 Messages postés 12 Date d'inscription mardi 22 juillet 2014 Statut Membre Dernière intervention 30 juillet 2014 - 25 juil. 2014 à 09:31
gathou13 Messages postés 12 Date d'inscription mardi 22 juillet 2014 Statut Membre Dernière intervention 30 juillet 2014 - 25 juil. 2014 à 09:31
A voir également:
- VBA, problème dans ma fonction IF
- Fonction si et - Guide
- Fonction somme excel - Guide
- Fonction moyenne excel - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
3 réponses
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
22 juil. 2014 à 11:26
22 juil. 2014 à 11:26
Bonjour,
Pour t'aider, dans le visual Basic Editor affiche la fenêtre "Données Local" (dans ma version anglaise c'est "Local Windows"). Dans cet écran s'affichera toutes tes variables avec le contenu de chacune.
Exécute ta macro pas à pas avec la touche F8 et compare le contenu des variable que tu met en confrontation.
Le problème peux venir du format des cellule comparé. Une cellule au format texte apparaitra entre Guillemet alors qu'une donnée numérique apparaitra en brute.
Pour ton 2eme problèmes Si tu pouvais fournir 2 fichiers en exemple (via le site cijoint.com) avec juste 3 ligne de contenu, ça serait surper.
Pour t'aider, dans le visual Basic Editor affiche la fenêtre "Données Local" (dans ma version anglaise c'est "Local Windows"). Dans cet écran s'affichera toutes tes variables avec le contenu de chacune.
Exécute ta macro pas à pas avec la touche F8 et compare le contenu des variable que tu met en confrontation.
Le problème peux venir du format des cellule comparé. Une cellule au format texte apparaitra entre Guillemet alors qu'une donnée numérique apparaitra en brute.
Pour ton 2eme problèmes Si tu pouvais fournir 2 fichiers en exemple (via le site cijoint.com) avec juste 3 ligne de contenu, ça serait surper.
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
22 juil. 2014 à 15:43
22 juil. 2014 à 15:43
Rebonjour,
J'ai réécrit une partie du code que voici :
Je te laisse compléter le code aux endroits où c'est mentionné "mettre les instructions".
Si tu as des questions n'hésites pas.
Sub CopierDonnees()
Dim Entree As Workbook, Sortie As Workbook
Dim i As Integer, u As Integer, j As Integer, k As Integer, Nb_Ligne_E As Integer, Nb_Ligne_S As Integer
Dim NomFichierEntree As Variant, NomFichierSortie As Variant
CheminFichierEntree = Application.GetOpenFilename("*,*")
' On verifie que l'on a selectionné un nom de classeur
If CheminFichierEntree <> False Then
' On ouvre le classeur
Workbooks.Open (CheminFichierEntree)
NomFichierEntree = ActiveWorkbook.Name
CheminFichierSortie = Application.GetOpenFilename("*,*")
If CheminFichierSortie <> False Then
Workbooks.Open (CheminFichierSortie)
NomFichierSortie = ActiveWorkbook.Name
k = Cells(Rows.Count, 2).End(xlUp).Row + 1 'numéro de la dernière cellule non vide du fichier SIOUX
Application.ScreenUpdating = False
Workbooks(NomFichierEntree).Activate
Nb_Ligne_E = Sheets(1).Cells(Rows.Count, 3).End(xlUp).Row
Workbooks(NomFichierSortie).Activate
Nb_Ligne_S = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = True
'Copier/coller des données
' Trouve = 0
While k < Rows.Count
For i = 2 To Nb_Ligne_E
RefENTREE = Workbooks(NomFichierEntree).Sheets(1).Cells(i, 3).Text
For u = 4 To Nb_Ligne_S
RefSORTIE = Workbooks(NomFichierSortie).Sheets(1).Cells(u, 2).Text
If RefENTREE = RefSORTIE Then
'Mettre les instructions sur la ligne u du Fichier Sortie
' Trouve = 1
GoTo Suite
End If
Next u
'Mettre les instruction sur la ligne k du fichier Sortie
Suite:
Next i
k = k + 1
Wend
' On ferme le classeur
Workbooks(NomFichierSortie).Close
End If
' On ferme le second
Workbooks(NomFichierEntree).Close
End If
J'ai réécrit une partie du code que voici :
Je te laisse compléter le code aux endroits où c'est mentionné "mettre les instructions".
Si tu as des questions n'hésites pas.
Sub CopierDonnees()
Dim Entree As Workbook, Sortie As Workbook
Dim i As Integer, u As Integer, j As Integer, k As Integer, Nb_Ligne_E As Integer, Nb_Ligne_S As Integer
Dim NomFichierEntree As Variant, NomFichierSortie As Variant
CheminFichierEntree = Application.GetOpenFilename("*,*")
' On verifie que l'on a selectionné un nom de classeur
If CheminFichierEntree <> False Then
' On ouvre le classeur
Workbooks.Open (CheminFichierEntree)
NomFichierEntree = ActiveWorkbook.Name
CheminFichierSortie = Application.GetOpenFilename("*,*")
If CheminFichierSortie <> False Then
Workbooks.Open (CheminFichierSortie)
NomFichierSortie = ActiveWorkbook.Name
k = Cells(Rows.Count, 2).End(xlUp).Row + 1 'numéro de la dernière cellule non vide du fichier SIOUX
Application.ScreenUpdating = False
Workbooks(NomFichierEntree).Activate
Nb_Ligne_E = Sheets(1).Cells(Rows.Count, 3).End(xlUp).Row
Workbooks(NomFichierSortie).Activate
Nb_Ligne_S = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = True
'Copier/coller des données
' Trouve = 0
While k < Rows.Count
For i = 2 To Nb_Ligne_E
RefENTREE = Workbooks(NomFichierEntree).Sheets(1).Cells(i, 3).Text
For u = 4 To Nb_Ligne_S
RefSORTIE = Workbooks(NomFichierSortie).Sheets(1).Cells(u, 2).Text
If RefENTREE = RefSORTIE Then
'Mettre les instructions sur la ligne u du Fichier Sortie
' Trouve = 1
GoTo Suite
End If
Next u
'Mettre les instruction sur la ligne k du fichier Sortie
Suite:
Next i
k = k + 1
Wend
' On ferme le classeur
Workbooks(NomFichierSortie).Close
End If
' On ferme le second
Workbooks(NomFichierEntree).Close
End If
gathou13
Messages postés
12
Date d'inscription
mardi 22 juillet 2014
Statut
Membre
Dernière intervention
30 juillet 2014
23 juil. 2014 à 09:04
23 juil. 2014 à 09:04
j'ai un petit souci, je sais pas si ca vient de moi, mais le prog n'arrive pas à se terminer et il plante mon ordi....
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
23 juil. 2014 à 13:59
23 juil. 2014 à 13:59
As tu testé la macro pas à pas avec la touche F8 pour voir quand ça plante ?
gathou13
Messages postés
12
Date d'inscription
mardi 22 juillet 2014
Statut
Membre
Dernière intervention
30 juillet 2014
23 juil. 2014 à 15:57
23 juil. 2014 à 15:57
en faisant pas à pas il va créer et inscrire indéfiniment la dernière ligne du fichier d'entrée dans celui de sortie
c'est peut être que j'ai mal compris ce qu'il fallait incorporer dans les 'mettre les instructions'
j'ai mis
'Mettre les instructions sur la ligne u du Fichier Sortie
'la date du dernier contrôle du fichier SIOUX doit être égale à celle de Dekra
Workbooks(NomFichierSortie).Worksheets(1).Range("J" & u).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("F" & i).Value
'la conclusion du dernier contrôle du fichier SIOUX doit être la même à celle de Dekra
Workbooks(NomFichierSortie).Worksheets(1).Range("AA" & u).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("E" & i).Value
'Mettre les instruction sur la ligne k du fichier Sortie
Workbooks(NomFichierSortie).Worksheets(1).Range("B" & k).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("C" & i).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("E" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("A" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("G" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("B" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("R" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("D" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("AA" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("E" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("L" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("K" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("K" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("L" & i).Offset(lig).Value
c'est peut être que j'ai mal compris ce qu'il fallait incorporer dans les 'mettre les instructions'
j'ai mis
'Mettre les instructions sur la ligne u du Fichier Sortie
'la date du dernier contrôle du fichier SIOUX doit être égale à celle de Dekra
Workbooks(NomFichierSortie).Worksheets(1).Range("J" & u).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("F" & i).Value
'la conclusion du dernier contrôle du fichier SIOUX doit être la même à celle de Dekra
Workbooks(NomFichierSortie).Worksheets(1).Range("AA" & u).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("E" & i).Value
'Mettre les instruction sur la ligne k du fichier Sortie
Workbooks(NomFichierSortie).Worksheets(1).Range("B" & k).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("C" & i).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("E" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("A" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("G" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("B" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("R" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("D" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("AA" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("E" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("L" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("K" & i).Offset(lig).Value
Workbooks(NomFichierSortie).Worksheets(1).Range("K" & k).Offset(lig).Value = Workbooks(NomFichierEntree).Worksheets(1).Range("L" & i).Offset(lig).Value
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
24 juil. 2014 à 09:38
24 juil. 2014 à 09:38
Ah non ça vient de mon code :
Voici la verion modifiée :
Sub CopierDonnees()
Dim Entree As Workbook, Sortie As Workbook
Dim i As Integer, u As Integer, j As Integer, k As Integer, Nb_Ligne_E As Integer, Nb_Ligne_S As Integer
Dim NomFichierEntree As Variant, NomFichierSortie As Variant
CheminFichierEntree = Application.GetOpenFilename("*,*")
' On verifie que l'on a selectionné un nom de classeur
If CheminFichierEntree <> False Then
' On ouvre le classeur
Workbooks.Open (CheminFichierEntree)
NomFichierEntree = ActiveWorkbook.Name
CheminFichierSortie = Application.GetOpenFilename("*,*")
If CheminFichierSortie <> False Then
Workbooks.Open (CheminFichierSortie)
NomFichierSortie = ActiveWorkbook.Name
k = Cells(Rows.Count, 2).End(xlUp).Row + 1 'numéro de la dernière cellule non vide du fichier SIOUX
Application.ScreenUpdating = False
Workbooks(NomFichierEntree).Activate
Nb_Ligne_E = Sheets(1).Cells(Rows.Count, 3).End(xlUp).Row
Workbooks(NomFichierSortie).Activate
Nb_Ligne_S = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = True
'Copier/coller des données
For i = 2 To Nb_Ligne_E
RefENTREE = Workbooks(NomFichierEntree).Sheets(1).Cells(i, 3).Text
For u = 4 To Nb_Ligne_S
RefSORTIE = Workbooks(NomFichierSortie).Sheets(1).Cells(u, 2).Text
If RefENTREE = RefSORTIE Then
'Mettre les instructions sur la ligne u du Fichier Sortie
u = 0
GoTo Suite
End If
Next u
'Mettre les instruction sur la ligne k du fichier Sortie
Suite:
k = k + 1
If k > Rows.Count Then
MsgBox ("La limite de la feuille est atteinte")
Exit For
End If
Next i
' On ferme le classeur
Workbooks(NomFichierSortie).Close
End If
' On ferme le second
Workbooks(NomFichierEntree).Close
End If
Voici la verion modifiée :
Sub CopierDonnees()
Dim Entree As Workbook, Sortie As Workbook
Dim i As Integer, u As Integer, j As Integer, k As Integer, Nb_Ligne_E As Integer, Nb_Ligne_S As Integer
Dim NomFichierEntree As Variant, NomFichierSortie As Variant
CheminFichierEntree = Application.GetOpenFilename("*,*")
' On verifie que l'on a selectionné un nom de classeur
If CheminFichierEntree <> False Then
' On ouvre le classeur
Workbooks.Open (CheminFichierEntree)
NomFichierEntree = ActiveWorkbook.Name
CheminFichierSortie = Application.GetOpenFilename("*,*")
If CheminFichierSortie <> False Then
Workbooks.Open (CheminFichierSortie)
NomFichierSortie = ActiveWorkbook.Name
k = Cells(Rows.Count, 2).End(xlUp).Row + 1 'numéro de la dernière cellule non vide du fichier SIOUX
Application.ScreenUpdating = False
Workbooks(NomFichierEntree).Activate
Nb_Ligne_E = Sheets(1).Cells(Rows.Count, 3).End(xlUp).Row
Workbooks(NomFichierSortie).Activate
Nb_Ligne_S = Sheets(1).Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = True
'Copier/coller des données
For i = 2 To Nb_Ligne_E
RefENTREE = Workbooks(NomFichierEntree).Sheets(1).Cells(i, 3).Text
For u = 4 To Nb_Ligne_S
RefSORTIE = Workbooks(NomFichierSortie).Sheets(1).Cells(u, 2).Text
If RefENTREE = RefSORTIE Then
'Mettre les instructions sur la ligne u du Fichier Sortie
u = 0
GoTo Suite
End If
Next u
'Mettre les instruction sur la ligne k du fichier Sortie
Suite:
k = k + 1
If k > Rows.Count Then
MsgBox ("La limite de la feuille est atteinte")
Exit For
End If
Next i
' On ferme le classeur
Workbooks(NomFichierSortie).Close
End If
' On ferme le second
Workbooks(NomFichierEntree).Close
End If
gathou13
Messages postés
12
Date d'inscription
mardi 22 juillet 2014
Statut
Membre
Dernière intervention
30 juillet 2014
24 juil. 2014 à 10:06
24 juil. 2014 à 10:06
merci bcp! ca marche très bien!
gathou13
Messages postés
12
Date d'inscription
mardi 22 juillet 2014
Statut
Membre
Dernière intervention
30 juillet 2014
22 juil. 2014 à 12:18
22 juil. 2014 à 12:18
Merci pour la rapidité de ta réponse =)
J'avais du m'emmêler comme j'ai créé un prog pratiquement identique puisqu'il fallait que je gère un fichier du même type mais avec des données organisées différemment et celui là marchait; J'ai copié et collé ce prog en modifiant qq lignes et ca a marché!
Pour mon deuxième problème, j'ai joint mes deux fichiers.
j'ai mis en rouge sur mon fichier de sortie les données qui étaient présente avant l'application de mon prog. On s'aperçoit qu'il a donc créé une ligne même si l'article existait, j'aimerais qu'il n y est plus de duplication (ligne 7 et 5)
Merci pour l'aide!
https://www.cjoint.com/?3GwmmnnFzfw
https://www.cjoint.com/?3GwmnNAMmYx
J'avais du m'emmêler comme j'ai créé un prog pratiquement identique puisqu'il fallait que je gère un fichier du même type mais avec des données organisées différemment et celui là marchait; J'ai copié et collé ce prog en modifiant qq lignes et ca a marché!
Pour mon deuxième problème, j'ai joint mes deux fichiers.
j'ai mis en rouge sur mon fichier de sortie les données qui étaient présente avant l'application de mon prog. On s'aperçoit qu'il a donc créé une ligne même si l'article existait, j'aimerais qu'il n y est plus de duplication (ligne 7 et 5)
Merci pour l'aide!
https://www.cjoint.com/?3GwmmnnFzfw
https://www.cjoint.com/?3GwmnNAMmYx
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
24 juil. 2014 à 10:34
24 juil. 2014 à 10:34
J'aurais besoin du code complet afin que je puisse le tester peux tu me le joindre ?
gathou13
Messages postés
12
Date d'inscription
mardi 22 juillet 2014
Statut
Membre
Dernière intervention
30 juillet 2014
25 juil. 2014 à 09:31
25 juil. 2014 à 09:31
le voici, mais le tien marche très bien
Sub CopierDonnees()
Dim Dekra As Workbook, Sioux As Workbook
NomFichierEntree = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
' On verifie que l'on a selectionné un nom de classeur
If NomFichierEntree <> False Then
' On ouvre le classeur
Set Dekra = Workbooks.Open(NomFichierEntree)
NomFichierSortie = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
If NomFichierSortie <> False Then
Set Sioux = Workbooks.Open(NomFichierSortie)
Dim i As Integer, j As Integer, k As Integer, lg As Integer, lg2 As Integer
i = 4 'numéro de la première cellule à comparer du fichier SIOUX
j = 2 'numéro de la première cellule à comparer du fichier DEKRA
k = Cells(Rows.Count, 2).End(xlUp).row + 1 'numéro de la dernière cellule non vide du fichier SIOUX
lg = Cells(Rows.Count, 2).End(xlUp).row
lg2 = Dekra.Worksheets(1).Range("C65536").End(xlUp).row
'Copier/coller des données
While (j < lg2 And k < 65536)
For i = 4 To lg
' si le num d'agence est identique alors je modifie les données
If (Dekra.Worksheets(1).Range("C" & j).Value = Sioux.Worksheets(1).Range("B" & i).Value) Then
'la date du dernier contrôle du fichier SIOUX doit être égale à celle de Dekra
Sioux.Worksheets(1).Range("J" & i).Value = Dekra.Worksheets(1).Range("F" & j).Value
'la conclusion du dernier contrôle du fichier SIOUX doit être la même à celle de Dekra
Sioux.Worksheets(1).Range("AA" & i).Value = Dekra.Worksheets(1).Range("E" & j).Value
'sinon créer une nouvelle ligne pour le nouveau matériel
Else
Sioux.Worksheets(1).Range("B" & k).Value = Dekra.Worksheets(1).Range("C" & j).Value
'mettre toutes les caractéristiques importantes du nouvel matériel dans SIOUX
Sioux.Worksheets(1).Range("E" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("A" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("G" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("B" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("R" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("D" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("AA" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("E" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("L" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("K" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("K" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("L" & j).Offset(lig).Value
End If
Next
k = k + 1
j = j + 1
Wend
' On ferme le classeur
Sioux.Close
End If
' On ferme le second
Dekra.Close
End If
End Sub
Sub CopierDonnees()
Dim Dekra As Workbook, Sioux As Workbook
NomFichierEntree = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
' On verifie que l'on a selectionné un nom de classeur
If NomFichierEntree <> False Then
' On ouvre le classeur
Set Dekra = Workbooks.Open(NomFichierEntree)
NomFichierSortie = Application.GetOpenFilename("Fichier Excel (*.xls), *.xsl")
If NomFichierSortie <> False Then
Set Sioux = Workbooks.Open(NomFichierSortie)
Dim i As Integer, j As Integer, k As Integer, lg As Integer, lg2 As Integer
i = 4 'numéro de la première cellule à comparer du fichier SIOUX
j = 2 'numéro de la première cellule à comparer du fichier DEKRA
k = Cells(Rows.Count, 2).End(xlUp).row + 1 'numéro de la dernière cellule non vide du fichier SIOUX
lg = Cells(Rows.Count, 2).End(xlUp).row
lg2 = Dekra.Worksheets(1).Range("C65536").End(xlUp).row
'Copier/coller des données
While (j < lg2 And k < 65536)
For i = 4 To lg
' si le num d'agence est identique alors je modifie les données
If (Dekra.Worksheets(1).Range("C" & j).Value = Sioux.Worksheets(1).Range("B" & i).Value) Then
'la date du dernier contrôle du fichier SIOUX doit être égale à celle de Dekra
Sioux.Worksheets(1).Range("J" & i).Value = Dekra.Worksheets(1).Range("F" & j).Value
'la conclusion du dernier contrôle du fichier SIOUX doit être la même à celle de Dekra
Sioux.Worksheets(1).Range("AA" & i).Value = Dekra.Worksheets(1).Range("E" & j).Value
'sinon créer une nouvelle ligne pour le nouveau matériel
Else
Sioux.Worksheets(1).Range("B" & k).Value = Dekra.Worksheets(1).Range("C" & j).Value
'mettre toutes les caractéristiques importantes du nouvel matériel dans SIOUX
Sioux.Worksheets(1).Range("E" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("A" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("G" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("B" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("R" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("D" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("AA" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("E" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("L" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("K" & j).Offset(lig).Value
Sioux.Worksheets(1).Range("K" & k).Offset(lig).Value = Dekra.Worksheets(1).Range("L" & j).Offset(lig).Value
End If
Next
k = k + 1
j = j + 1
Wend
' On ferme le classeur
Sioux.Close
End If
' On ferme le second
Dekra.Close
End If
End Sub