|
|
|
|
Bonjour,
A plus de 50 ans, découvrir Excel n'est pas chose facile...a fortiori le mode VBA
La barre est sans doute un peu haute mais je tente l'essai quand même.
Mon cas:
Dans un classeur, j'ai créé plusieurs feuilles.
Dans l'une d'elle (Feuille1), j'ai une cellule (D19) dans laquelle suivant la condition implicitée dans une formule (RechercheV) j'obtiens une valeur (Valeur1,Valeur2,Valeur3).
Dans le même classeur, j'ai créé, entre autres, 3 feuilles (Feuille5 ,Feuille6 ,Feuille7) reprenant un ensemble d'informations propres à chacune de ces valeurs.
A partir de la donnée obtenue dans la cellule D19 de la feuille1 j'aimerais afficher ("à la demande" ) la feuille (Feuille5 ou Feuille6 ou Feuille7 préalablement masquée) relative à cette valeur.
Pensant qu'en VBA, les conditions fonctionnaient classiquement (=Si(D19="Valeur1";Feuille5;si(.......), J'ai essayé ce qui suit mais ça ne marche pas, ça me renvoi toujours la feuille7 (quelque soit la valeur de D19). C'était trop simple (celà doit l'être mais pas pour moi) compris).
Merci de m'aider dans ce terrible apprentissage.
Sub afficher_détails
' if range(D19).value = ("Valeur1")
Sheets("Feuille5").Select
Range("A1").Select
End
' if range(D19).value = ("valeur2") then
Sheets("Feuille6").Select
Range("A1").Select
End
' if range(D19).value = ("Valeur3") then
Sheets("Feuille7").Select
Range("A1").Select
End
End Sub
Configuration: Windows XP Internet Explorer 7.0
Bonjour,
Sub afficher_détails()
If Worksheets("Feuil1").Range(D19).Value = ("Valeur1")
Sheets("Feuille5").Select
Range("A1").Select
End If
If Worksheets("Feuil1").Range(D19).Value = ("valeur2") then
Sheets("Feuille6").Select
Range("A1").Select
End If
If Worksheets("Feuil1").Range(D19).Value = ("Valeur3") then
Sheets("Feuille7").Select
Range("A1").Select
End If
End Sub
Comme ça, ça devrait aller mieux. ;o) polux
|
Bonjour,
Sub Afficher_Details()
Select Case (Range("D19").Value)
Case "Valeur1": AfficheFeuille ("Feuil5") ' Soyez vigilent sur le nom des feuilles
Case "Valeur2": AfficheFeuille ("Feuil6") ' Est vraiment [ Feuille5 ], le nom standard
Case "Valeur3": AfficheFeuille ("Feuil7") ' devrait être [ Feuil5 ], et ainsi de suite ...
End Select
End Sub
'
Function AfficheFeuille(ByVal LaFle As String)
Sheets(LaFle).Visible = True ' Si la feuille est masqué, vous devez la rendre visible
Sheets(LaFle).Select ' avant de la sélectionner
End Function
'
Si vous recherchez des exemples de code, je vous recommande mon classeur VizioXLA que vous trouverez sur excel-download à cette adresse : http://www.excel-downloads.com/... repérer VizioXLA sans prétention, ce classeur démontre comment utiliser les objets Excels. Lupin
|