Bonjour tout le monde,
Je débute en VBA et j'ai besoin votre aide.
Je dois créer une base de donnée à partir de plusieurs tables.
J'ai besoin de copier certains colonnes de ces tables dans un fichier Excel.
j'ai réussit à faire cela mais sans vérification que je prendre le bon info/chiffre et le copier dans la ligne concernée. je copie la colonne en entier donc si dans la fichier de base, mais colonne sont pas dans le même ordre que mon fichier sortie je vais pas avoir la bon info.
j'ai besoin de vérifier que colonne A de fichier de base soit égale à la colonne A de fichier sorite et copier l'info dans le même ligne. Mais je ne sais pas comment je peux faire cela en boucle pour chaque ligne.
Merci par avance pour votre aide !!
Voici le code que j'ai fait.
ca c'est le code que j'ai fait en essayant de vérifier le nom EPCI qui ne marche pas !
Je débute en VBA et j'ai besoin votre aide.
Je dois créer une base de donnée à partir de plusieurs tables.
J'ai besoin de copier certains colonnes de ces tables dans un fichier Excel.
j'ai réussit à faire cela mais sans vérification que je prendre le bon info/chiffre et le copier dans la ligne concernée. je copie la colonne en entier donc si dans la fichier de base, mais colonne sont pas dans le même ordre que mon fichier sortie je vais pas avoir la bon info.
j'ai besoin de vérifier que colonne A de fichier de base soit égale à la colonne A de fichier sorite et copier l'info dans le même ligne. Mais je ne sais pas comment je peux faire cela en boucle pour chaque ligne.
Merci par avance pour votre aide !!
Voici le code que j'ai fait.
VB:
sub test()
Workbooks("OLL.xlsx").Activate
i = 3
For Each C In Workbooks("OLL.xlsx").Worksheets("EPCI").Range("C" & i & ":C" & FinalRow) 'Le code dep
If C.Value = "85" Then ' si la valeure de cellule = 85
Workbooks("OLL.xlsx").Worksheets("EPCI").Range("G" & i & ":H" & i).Copy 'loyer 2
'Trouver la dernier ligne
Workbooks("EPCI.xlsx").Activate
NextRow = Cells(Rows.Count, 63).End(xlUp).Row + 1
'Paste
Cells(NextRow, 63).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues
'End If
End If
i = i + 1
Next
end sub
ca c'est le code que j'ai fait en essayant de vérifier le nom EPCI qui ne marche pas !
VB:
Sub Chek_EPCI()
Dim C As Range
Dim nb As Integer, i As Long, NextRow As Integer, FinalRow As Long
Dim Classeur As Workbook
Dim LaFeuille As Worksheet
Dim FichierEx As String
Dim Chemin As String
Workbooks("OLL.xlsx").Activate
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
i = 3
For Each C In Workbooks("OLL.xlsx").Worksheets("EPCI").Range("C" & i & ":C" & FinalRow) 'Le code dep
If C.Value = "85" Then ' si la valeure de cellule = 85
'If frmEtudiantDUT.TextBox_Nom = Cells(Target.Row, 1) Then
If C.Offset(0, -1).Value = Workbooks("EPCI.xlsx").Worksheets("EPCI").Cells(Target.Row, 1) Then
Workbooks("OLL.xlsx").Worksheets("EPCI").Range("G" & i & ":H" & i).Copy 'loyer 2
'Trouver la dernier ligne
Workbooks("EPCI.xlsx").Activate
NextRow = Cells(Rows.Count, 63).End(xlUp).Row + 1
'Paste
Cells(NextRow, 63).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues
End If
End If
i = i + 1
Next
End Sub
Pièces jointes
Dernière édition: