Bonjour à tous,
je suis nouveau sur le forum alors j'espère être au bon endroit pour poser ma question. Bon alors voici : je suis en train de mettre en place un fichier excel pour effectuer des relevés de température dans des magasins d'archives (au total 36 magasins, répartis en 6 magasins par étage sur 6 étages et appelés par un numéro 11, 12, 13, 14, 15, 16, 21,22 etc) en attendant qu'un système plus évolué le fasse automatiquement. Je joins d'ailleurs un fichier excel pour explication. On a donc une première feuille "releve" qui permet comme un formulaire de redispatcher (par macro) les résultats dans les 36 onglets nommés 11, 12,13, etc (en fonction du code du magasin) (ces 36 onglets ont tous la même structure). une fois que les informations sont enregistrées dans les 36 feuilles, je veux qu'un bulletin d'alerte soit créé pour vérifier les variations de température, etc. et c'est donc dans ce "bulletin_alerte" que se pose mon problème : je voudrais que pour la plage B2:B37, je puisse faire un calcul qui récupère pour chaque ligne le code du magasin contenu dans la colonne A : par exemple en cellule B2 je veux vérifier que dans le magasin 11, la température soit la même entre celle mesurée par l'appareil et celle indiquée par le magasin, pour ça j'ai besoin que dans ma cellule B2 de l'onglet "bulletin_alerte" la formule VBA soit capable d'aller en cellule A2, de récupérer la valeur de la cellule (soit "11") et ainsi de pouvoir récupérer les valeurs contenues dans les cellules B2 et D2 de l'onglet "11"....
en terme de code ça donnerait ceci :
Sub Comparaison_variation_1()
'
' Comparaison_variation_1 Macro
' Macro enregistrée le 05/07/2011 par lepagej
'
'
With Sheets("BULLETIN_ALERTE")
Range("b2:z37").Interior.ColorIndex = 0
End With
var1 = Sheets("11").Range("b65536").End(xlUp).Value
var2 = Sheets("11").Range("d65536").End(xlUp).Value
T = var2 - var1
Sheets("BULLETIN_ALERTE").Range("b2").Value = T
If Sheets("BULLETIN_ALERTE").Range("b2").Value <> "0" Then
Sheets("BULLETIN_ALERTE").Range("b2").Select
Selection.Interior.ColorIndex = 3
End If
End Sub
sauf qu'à la place de
var1 = Sheets("11").Range("b65536").End(xlUp).Value
var2 = Sheets("11").Range("d65536").End(xlUp).Value
il faudrait que le "11" puisse être une variable reprise dans la colonne A de l'onglet "bulletin_alerte", j'ai essayé plein de trucs, mais là je ne sais plus. j'espère être clair, si besoin d redemandez-moi...
sinon je peux toujours le faire ligne par ligne mais ça risque d'^^etre long surtout que je vais le faire au moins pour 4 à 5 colonnes ensuite...
merci d'avance pour votre aide.
je suis nouveau sur le forum alors j'espère être au bon endroit pour poser ma question. Bon alors voici : je suis en train de mettre en place un fichier excel pour effectuer des relevés de température dans des magasins d'archives (au total 36 magasins, répartis en 6 magasins par étage sur 6 étages et appelés par un numéro 11, 12, 13, 14, 15, 16, 21,22 etc) en attendant qu'un système plus évolué le fasse automatiquement. Je joins d'ailleurs un fichier excel pour explication. On a donc une première feuille "releve" qui permet comme un formulaire de redispatcher (par macro) les résultats dans les 36 onglets nommés 11, 12,13, etc (en fonction du code du magasin) (ces 36 onglets ont tous la même structure). une fois que les informations sont enregistrées dans les 36 feuilles, je veux qu'un bulletin d'alerte soit créé pour vérifier les variations de température, etc. et c'est donc dans ce "bulletin_alerte" que se pose mon problème : je voudrais que pour la plage B2:B37, je puisse faire un calcul qui récupère pour chaque ligne le code du magasin contenu dans la colonne A : par exemple en cellule B2 je veux vérifier que dans le magasin 11, la température soit la même entre celle mesurée par l'appareil et celle indiquée par le magasin, pour ça j'ai besoin que dans ma cellule B2 de l'onglet "bulletin_alerte" la formule VBA soit capable d'aller en cellule A2, de récupérer la valeur de la cellule (soit "11") et ainsi de pouvoir récupérer les valeurs contenues dans les cellules B2 et D2 de l'onglet "11"....
en terme de code ça donnerait ceci :
Sub Comparaison_variation_1()
'
' Comparaison_variation_1 Macro
' Macro enregistrée le 05/07/2011 par lepagej
'
'
With Sheets("BULLETIN_ALERTE")
Range("b2:z37").Interior.ColorIndex = 0
End With
var1 = Sheets("11").Range("b65536").End(xlUp).Value
var2 = Sheets("11").Range("d65536").End(xlUp).Value
T = var2 - var1
Sheets("BULLETIN_ALERTE").Range("b2").Value = T
If Sheets("BULLETIN_ALERTE").Range("b2").Value <> "0" Then
Sheets("BULLETIN_ALERTE").Range("b2").Select
Selection.Interior.ColorIndex = 3
End If
End Sub
sauf qu'à la place de
var1 = Sheets("11").Range("b65536").End(xlUp).Value
var2 = Sheets("11").Range("d65536").End(xlUp).Value
il faudrait que le "11" puisse être une variable reprise dans la colonne A de l'onglet "bulletin_alerte", j'ai essayé plein de trucs, mais là je ne sais plus. j'espère être clair, si besoin d redemandez-moi...
sinon je peux toujours le faire ligne par ligne mais ça risque d'^^etre long surtout que je vais le faire au moins pour 4 à 5 colonnes ensuite...
merci d'avance pour votre aide.
Dernière édition: