Bonjour
Voici mon problème : je dispose d'un tableau dont la colonne A répertorie une liste de locaux, la ligne 1 une liste d'équipements, et dans le tableau sont renseignées les quantités de chaque équipements présents dans chaque local (si un équipement ne figure pas dans un local, la cellule est vide). J'aimerai pouvoir faire la synthèse de tous ces équipements par local (tout en conservant les quantités), autrement dit obtenir un tableau me récapitulant : Le nom du local (colonne A), l'intitulé de l'équipement (Ligne 1), et la quantité (Cellule (i,j)). En gros, je voudrais que pour chaque case non vide de mon tableau (appelons la (i,j) ), la macro fasse une extraction sur 3 cellules tel que : Cellule 1 = [i,1] / Cellule 2 = [1,j] / Cellule 3 = [i,j]
J'ai essayé sans succès plusieurs choses, et la dernière version de mon code est la suivante : (Nota : mon fichier comtenant le tableau s'appelle "MAJ Equipements cfo.xls")
Sub macro1()
'GENERAL
Dim x As Byte
Dim y As Integer
Dim numero_ligne As Integer
numero_ligne = 2
'Remise à zéro de la feuille
Workbooks("macrocfo.xlsm").Worksheets("Feuil1").Activate
Rows("2:5000").Delete
'Recherche des equipements présents dans un local
For x = 3 To 14 Je dois analyser les feuilles 3 à 14 de mon classeur
Workbooks("MAJ Equipements cfo.xls").Worksheets(x).Activate
For i = 2 To 542 Step 1 Le nombre de ligne de la feuille la plus longue est 542
For j = 2 To 119 Step 1 Le nombre de colonne de la feuille la plus longue est 119
If Cells(i, j) >= 0 Then
Workbooks("macrocfo.xlsm").Worksheets("Feuil1").Activate
Workbooks("macrocfo.xlsm").Worksheets("Feuil1").Range(numero_ligne, 1).Value = Workbooks("MAJ Equipements cfo.xls").Worksheets(x).Range(i, 2).Value
Workbooks("macrocfo.xlsm").Worksheets("Feuil1").Range(numero_ligne, 2).Value = Workbooks("MAJ Equipements cfo.xls").Worksheets(x).Range(3, j).Value
Workbooks("macrocfo.xlsm").Worksheets("Feuil1").Range(numero_ligne, 3).Value = Workbooks("MAJ Equipements cfo.xls").Worksheets(x).Range(i, j).Value
numero_ligne = numero_ligne + 1
Exit For
End If
Next j
Exit For
Next i
Next x
End Sub
Merci d'avance à celui ou celle qui pourra me venir en aide.