Bonjour a tous,
J'ai un fichier excel avec deux types de feuilles:
- une feuille appelee Drop downs regroupant un tableau avec des informations par piece (d'un batiment), chaque type de piece correspondant a une ligne.
- une feuille par piece regroupant les informations de la feuille Drop downs qui sont des valeurs objectifs plus les valeurs reelles que nous atteindrons plus d'autre info pas important pour notre macro...
la macro a pour but de renvoyer les valeurs objectifs dans les feuilles individuelles des que l'on y selectionne le type de piece correspondant.
Je debute vraiment avec VBA donc j'ai fait une macro qui marche mais que j'active sur chaque feuille avec un bouton. je pense que cette macro est tres brouillon et je m'en excuse, comme je vous l'ai dit ce sont mes premiers pas...
Je cherche a automatiser l'activation de la macro des que la case D5 est modifiee quelque soit la feuille (chacune represantant une piece et il y en aura environ 150). Voici la macro:
Sub Limits()
Dim i, AreaType, sheet
i = 43
sheet = ActiveSheet.Name
AreaType = ThisWorkbook.Sheets(sheet).Cells(5, 4).Value
Do While AreaType <> ThisWorkbook.Sheets("Drop downs").Cells(i, 2).Value
i = i + 1
Loop
If AreaType = ThisWorkbook.Sheets("Drop downs").Cells(i, 2).Value Then
Manning = ThisWorkbook.Sheets("Drop downs").Cells(i, 3).Value
Noisetotal = ThisWorkbook.Sheets("Drop downs").Cells(i, 8).Value
HVAC = ThisWorkbook.Sheets("Drop downs").Cells(i, 9).Value
Vibration = ThisWorkbook.Sheets("Drop downs").Cells(i, 7).Value
Illumination = ThisWorkbook.Sheets("Drop downs").Cells(i, 4).Value
Climatelow = ThisWorkbook.Sheets("Drop downs").Cells(i, 5).Value
Climatehigh = ThisWorkbook.Sheets("Drop downs").Cells(i, 6).Value
End If
ThisWorkbook.Sheets(sheet).Cells(7, 4).Value = Manning
ThisWorkbook.Sheets(sheet).Cells(40, 2).Value = Noisetotal
ThisWorkbook.Sheets(sheet).Cells(41, 2).Value = HVAC
ThisWorkbook.Sheets(sheet).Cells(42, 2).Value = Vibration
ThisWorkbook.Sheets(sheet).Cells(43, 2).Value = Illumination
ThisWorkbook.Sheets(sheet).Cells(44, 2).Value = Climatelow
ThisWorkbook.Sheets(sheet).Cells(44, 3).Value = Climatehigh
End Sub
J'espere avoir ete clair, s'il vous manque des infos n'hesitez pas...
Merci d'avance.
Talu58
J'ai un fichier excel avec deux types de feuilles:
- une feuille appelee Drop downs regroupant un tableau avec des informations par piece (d'un batiment), chaque type de piece correspondant a une ligne.
- une feuille par piece regroupant les informations de la feuille Drop downs qui sont des valeurs objectifs plus les valeurs reelles que nous atteindrons plus d'autre info pas important pour notre macro...
la macro a pour but de renvoyer les valeurs objectifs dans les feuilles individuelles des que l'on y selectionne le type de piece correspondant.
Je debute vraiment avec VBA donc j'ai fait une macro qui marche mais que j'active sur chaque feuille avec un bouton. je pense que cette macro est tres brouillon et je m'en excuse, comme je vous l'ai dit ce sont mes premiers pas...
Je cherche a automatiser l'activation de la macro des que la case D5 est modifiee quelque soit la feuille (chacune represantant une piece et il y en aura environ 150). Voici la macro:
Sub Limits()
Dim i, AreaType, sheet
i = 43
sheet = ActiveSheet.Name
AreaType = ThisWorkbook.Sheets(sheet).Cells(5, 4).Value
Do While AreaType <> ThisWorkbook.Sheets("Drop downs").Cells(i, 2).Value
i = i + 1
Loop
If AreaType = ThisWorkbook.Sheets("Drop downs").Cells(i, 2).Value Then
Manning = ThisWorkbook.Sheets("Drop downs").Cells(i, 3).Value
Noisetotal = ThisWorkbook.Sheets("Drop downs").Cells(i, 8).Value
HVAC = ThisWorkbook.Sheets("Drop downs").Cells(i, 9).Value
Vibration = ThisWorkbook.Sheets("Drop downs").Cells(i, 7).Value
Illumination = ThisWorkbook.Sheets("Drop downs").Cells(i, 4).Value
Climatelow = ThisWorkbook.Sheets("Drop downs").Cells(i, 5).Value
Climatehigh = ThisWorkbook.Sheets("Drop downs").Cells(i, 6).Value
End If
ThisWorkbook.Sheets(sheet).Cells(7, 4).Value = Manning
ThisWorkbook.Sheets(sheet).Cells(40, 2).Value = Noisetotal
ThisWorkbook.Sheets(sheet).Cells(41, 2).Value = HVAC
ThisWorkbook.Sheets(sheet).Cells(42, 2).Value = Vibration
ThisWorkbook.Sheets(sheet).Cells(43, 2).Value = Illumination
ThisWorkbook.Sheets(sheet).Cells(44, 2).Value = Climatelow
ThisWorkbook.Sheets(sheet).Cells(44, 3).Value = Climatehigh
End Sub
J'espere avoir ete clair, s'il vous manque des infos n'hesitez pas...
Merci d'avance.
Talu58