Anthony_51
XLDnaute Nouveau
Bonjour,
Je fais appel à vous car je tourne un rond et je n'arrive pas à trouver de solution.
J'ai besoin dans le fichier ci-joint de récupérer les numéros de factures qui sont à partir de la colonnes AG de la feuil1 dans la colonne de la feuil2 et ensuite de récupérer les numéros de déclarations par facture. Sauf qu'utilisant recherche, et une formule index equiv, je n'arrive pas aux résultats escomptés.
Peut être que le problème vient de ma macro et que je pourrai extraire de ma feuille 1 de base les données factures et déclarations mais là mes compétences ne me le permettent pas.
Ci-dessous les deux macros que que j'ai crée
J'ai épuré le fichier pour qu'il ne reste que les informations qui sont à traiter.
Pouvez-vous m'aider svp ?
Une grand merci d'avance
Je fais appel à vous car je tourne un rond et je n'arrive pas à trouver de solution.
J'ai besoin dans le fichier ci-joint de récupérer les numéros de factures qui sont à partir de la colonnes AG de la feuil1 dans la colonne de la feuil2 et ensuite de récupérer les numéros de déclarations par facture. Sauf qu'utilisant recherche, et une formule index equiv, je n'arrive pas aux résultats escomptés.
Peut être que le problème vient de ma macro et que je pourrai extraire de ma feuille 1 de base les données factures et déclarations mais là mes compétences ne me le permettent pas.
Ci-dessous les deux macros que que j'ai crée
VB:
Sub MarquerDerniereColonneEtPrecedentes()
Dim ws As Worksheet
Dim derniereColonne As Long
Dim i As Long
' Définir la feuille active
Set ws = ThisWorkbook.ActiveSheet
' Trouver la dernière colonne contenant des données dans la feuille
derniereColonne = ws.Cells.Find(What:="*", After:=ws.Cells(1, 1), _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
' Remplir la première ligne avec "1" jusqu'à la dernière colonne renseignée
For i = 33 To derniereColonne
ws.Cells(1, i).Value = "Facture"
Next i
End Sub
VB:
Sub CopierColonnesSiPremiereLigneNonZero3()
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim lastRowSource As Long
Dim lastColSource As Long
Dim lastRowDest As Long
Dim colSource As Long
Dim colDest As Long
' Définir la feuille source et la feuille de destination
Set wsSource = ThisWorkbook.Sheets("Feuil1") ' Modifier "Feuil1" selon votre feuille source
Set wsDest = ThisWorkbook.Sheets("Feuil2") ' Modifier "Feuil2" selon votre feuille de destination
' Trouver la dernière colonne et la dernière ligne renseignée dans la feuille source
lastColSource = wsSource.Cells(1, wsSource.Columns.Count).End(xlToLeft).Column
lastRowSource = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row
' Initialiser la première ligne vide dans la feuille de destination
colDest = 1 ' Colonne de départ dans la feuille de destination (1 = colonne A)
' Boucle sur chaque colonne de la feuille source
For colSource = 33 To lastColSource
' Vérifier si la première ligne de la colonne source est différente de 0
If wsSource.Cells(1, colSource).Value <> 0 Then
' Trouver la dernière ligne renseignée dans la colonne source
lastRowSource = wsSource.Cells(wsSource.Rows.Count, colSource).End(xlUp).Row
' Trouver la première ligne vide dans la colonne de destination
lastRowDest = wsDest.Cells(wsDest.Rows.Count, colDest).End(xlUp).Row + 1
' Copier la colonne de la deuxième ligne jusqu'à la dernière ligne renseignée
wsSource.Range(wsSource.Cells(2, colSource), wsSource.Cells(lastRowSource, colSource)).Copy
' Coller dans la première ligne vide de la colonne de destination
wsDest.Cells(lastRowDest, colDest).PasteSpecial Paste:=xlPasteValues
End If
Next colSource
End Sub
J'ai épuré le fichier pour qu'il ne reste que les informations qui sont à traiter.
Pouvez-vous m'aider svp ?
Une grand merci d'avance