Bonjour, j'ai cette macro mais je n'arrive pas à la faire commencer à partir de la dernière ligne non vide de ma feuille. 
Toutes les cellules de la dernière ligne ne sont pas forcément remplies...
Par exemple, je mets juste "texte" dans B5.....
Si je modifie ce bout de code --> fin = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
en remplaçant le A par B, j'ai bien ma macro qui commence ou je veux mais le tableau n'est pas en entier.
Quelqu'un aurait une idée SVP
Merci d'avance
	
	
	
	
	
		
	
		
			
		
		
	
				
			Toutes les cellules de la dernière ligne ne sont pas forcément remplies...
Par exemple, je mets juste "texte" dans B5.....
Si je modifie ce bout de code --> fin = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
en remplaçant le A par B, j'ai bien ma macro qui commence ou je veux mais le tableau n'est pas en entier.
Quelqu'un aurait une idée SVP
Merci d'avance
		VB:
	
	
	Sub macro_paroi()
Application.ScreenUpdating = False
Dim tablo() As Variant
Dim NomsColonnes() As Variant
Set MonDico = CreateObject("Scripting.Dictionary")
Sheets("Feuil2").Range("A7:AN9000" & fin).Clear
'Dernli = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
NomColonneCherchée = "NOM"
With Sheets("IMPORT").Rows(1) 'on cherche dans la ligne 1 de la feuile IMPORT
    Set c = .Find(NomColonneCherchée)
    If Not c Is Nothing Then
        col = c.Column
        Else
    MsgBox "Pas trouvé le nom "
    End If
End With
tablo = Sheets("IMPORT").UsedRange.Value 'on récupère l'ensemble des data de la feuille Import
'on récupère la liste des noms sans doublon de la colonne "col" que l'on met dans un dictionnaire
For i = LBound(tablo, 1) + 1 To UBound(tablo, 1) 'lbound+1 pour éviter la ligne d'entete
    If tablo(i, col) <> "" Then MonDico(tablo(i, col)) = ""
Next i
NomsColonnes = Array("différents éléments de la paroi", "", "", "", "Epaisseur (cm)", "", "", "Lambda", "", "", "Résistance (m².K)/W")
For Each Nom In MonDico.keys 'pour chaque nom contenu dans le dictionnaire
    fin = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row 'on récupère la dernière ligne de la feuille1--> début du tableau
    Range("A" & fin + 1) = UCase(Nom) 'on place le Nom en majuscule --> Nom de la paroi
    Range("A" & fin + 1).Font.Bold = True 'et en gras --> Nom de la paroi
  
    i = 1
    For Each intitulé In NomsColonnes
        Sheets("Feuil2").Range("A" & fin).Offset(2, i - 1) = intitulé
        i = i + 1
    Next intitulé
    For i = LBound(tablo, 1) To UBound(tablo, 1) 'pour chaque ligne du tablo
        If UCase(tablo(i, col)) = UCase(Nom) Then 'si on est sur le bon nom
            For j = LBound(tablo, 2) + 1 To UBound(tablo, 2) 'pour chaque colonne
                If tablo(i, j) <> "" Then 's'il y a quelque chose
                  
                    For Each intitulé In NomsColonnes
                        If tablo(1, j) = intitulé Then
                            k = Application.WorksheetFunction.Match(intitulé, NomsColonnes, 0)
                            Cells(Rows.Count, k).End(xlUp).Offset(1, 0) = tablo(i, j)
                        End If
                    Next intitulé
                End If
            Next j
        End If
    Next i
Next Nom
Application.ScreenUpdating = True
End Sub