Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2572 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  comment faire une référence à une page VBA excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment faire une référence à une page VBA excel

n°1756249
adel53
Posté le 07-07-2008 à 11:42:17  profilanswer
 

bonjour svp je suis en train de créer un tableau de bord j'ai réalisé un indicateur où j'utilise une donnée sur la même page que le visuel j'utilise ceci comme code pour définir la cellule donnée If Target.Address = "$A1" Then
je veux mettre l'indicateur dans une feuille et la donnée dans une autre comment dois-je modifier mon code merci beaucoup j'ai essayé ceci ça ne marche pas  
 
 
If Target.Address = "$Data!R[4]C[6]" Then

mood
Publicité
Posté le 07-07-2008 à 11:42:17  profilanswer
 

n°1756325
86vomito33
Posté le 07-07-2008 à 14:23:53  profilanswer
 

bonjour,
 
ou as tu mis ta macro? dans thisworkbook? dans un module ?
 
sinon essai avec ca (thisworkbook)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target = sheets("Data" ).Range("A1" ) Then
....
End If
End Sub

n°1756339
adel53
Posté le 07-07-2008 à 14:50:48  profilanswer
 

Merci pour ta réponse ça ne marche malheuremsement pas  
voici mon code j'ai modifié en ajoutant le tiens mais rien  
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    If IsEmpty(Target.Value) Or Not IsNumeric(Target.Value) Then
        ActiveSheet.Shapes("Oval 1" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
        ActiveSheet.Shapes("Oval 2" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
        ActiveSheet.Shapes("Oval 3" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
        Exit Sub
    End If
    If Target.Value >= 100 Then
        ActiveSheet.Shapes("Oval 3" ).Fill.ForeColor.RGB = RGB(0, 204, 0)
        ActiveSheet.Shapes("Oval 1" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
        ActiveSheet.Shapes("Oval 2" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
            ElseIf Target.Value <= -100 Then ActiveSheet.Shapes("Oval 1" ).Fill.ForeColor.RGB = RGB(255, 0, 0): _
            ActiveSheet.Shapes("Oval 2" ).Fill.ForeColor.RGB = RGB(255, 255, 255): _
            ActiveSheet.Shapes("Oval 3" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
    Else
        ActiveSheet.Shapes("Oval 1" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
        ActiveSheet.Shapes("Oval 2" ).Fill.ForeColor.RGB = RGB(255, 128, 0)
        ActiveSheet.Shapes("Oval 3" ).Fill.ForeColor.RGB = RGB(255, 255, 255)
    End If
End If
End Sub

n°1756376
86vomito33
Posté le 07-07-2008 à 15:48:47  profilanswer
 

re
 
change ton code avec cette formulation
        ActiveSheet.Shapes("Oval 3" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(0, 204, 0)
et ca devrait marche

n°1756399
adel53
Posté le 07-07-2008 à 16:05:50  profilanswer
 

RE au fait ca marche si je laisse sur la même page sinon il retrovue pas oval , 2, 3 comment pourrais je faire pour dire que oval1 se trouve dans la feuille 2 par exemple merci

n°1756426
86vomito33
Posté le 07-07-2008 à 16:47:13  profilanswer
 

ca devient ca normalement
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    If IsEmpty(Target.Value) Or Not IsNumeric(Target.Value) Then
        Sheets("Sheet1" ).Select
        Sheets("Sheet1" ).Shapes("Oval 1" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
        Sheets("Sheet2" ).Select
        Sheets("Sheet2" ).Shapes("Oval 2" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
        Sheets("Sheet3" ).Select
        Sheets("Sheet3" ).Shapes("Oval 3" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
        Exit Sub
    End If
    If Target.Value >= 100 Then
        Sheets("Sheet3" ).Select
        Sheets("Sheet3" ).Shapes("Oval 3" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(0, 204, 0)
        Sheets("Sheet1" ).Select
        Sheets("Sheet1" ).Shapes("Oval 1" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
        Sheets("Sheet2" ).Select
        Sheets("Sheet2" ).Shapes("Oval 2" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
            ElseIf Target.Value <= -100 Then
            Sheets("Sheet1" ).Select
            Sheets("Sheet1" ).Shapes("Oval 1" ).Select
            Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 0, 0)
            Sheets("Sheet2" ).Select
            Sheets("Sheet2" ).Shapes("Oval 2" ).Select
            Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
            Sheets("Sheet3" ).Select
            Sheets("Sheet3" ).Shapes("Oval 3" ).Select
            Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
    Else
        Sheets("Sheet1" ).Select
        Sheets("Sheet1" ).Shapes("Oval 1" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
        Sheets("Sheet2" ).Select
        Sheets("Sheet2" ).Shapes("Oval 2" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 128, 0)
        Sheets("Sheet3" ).Select
        Sheets("Sheet3" ).Shapes("Oval 3" ).Select
        Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
    End If
End If
Sheets("Sheet1" ).Select
End Sub

n°1756429
adel53
Posté le 07-07-2008 à 16:57:24  profilanswer
 

ça ne marche toujours aps j'ai mis le fichier en pièce jointe je pense que tu pourras mieux détecter l'erreur avec merci beaucoup pour ton aide http://cjoint.com/?hhq3iIJn2d

n°1756524
86vomito33
Posté le 07-07-2008 à 18:55:22  profilanswer
 


kan tu change les valeurs tes ronds ne changent pas de couleurs ? ca fait pas exactement ce que tu veux ? et c koi ton erreur ?
parce que chez moi ca lair de marche. je change la valeur de la feuille data et tes feux changent de couleur correctement dc je comprends vraiment pas ton probleme

n°1756664
adel53
Posté le 08-07-2008 à 08:06:12  profilanswer
 

bonjour  
 
je te remercie pour ton aide effectivement tout baigne merci a+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  comment faire une référence à une page VBA excel

 

Sujets relatifs
balise <a href=> sur une page .phpProbleme Mise en page HTML et CSS
[VB.NET] Fichier txt vers excelMacro Excel de recherche + concaténation
Aide pour une macro excel[Access/VBA] Récupération valeur
actualiser sans renvoie en haut de la pageImpossible de lire le code VBA d'un fichier Excel avec Excel 2007
Afficher des graphes dans une page web 
Plus de sujets relatifs à : comment faire une référence à une page VBA excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR