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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Excel et macro

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Excel et macro

n°1275391
Sigmar
Posté le 31-12-2005 à 17:09:18  profilanswer
 

Bonjour,
 
J'ai un souci pour faire tourner une macro simple dans une de mes feuilles Excel.
En effet, l'utilisateur du programme Excel ne doit avoir accès qu'à une seule feuille [la feuille nommée Données], mais la macro qu'il peut appeler (le tri simple de valeurs selon une colonne) doit être capable de modifier une feuille protégée [la feuille nommée Points].
Simplement, cette macro doit d'éxécuter à partir de la feuille où l'utilisateur se trouve [Données], à partir d'un simple click.
J'ai bien essayé de changer la synthaxe de la macro (en VB) afin de changer la plage donnée modifiée, mais cela ne fonctionne (je ne m'y connait pas trop en VB).
 
Comment faire que cette macro trie les valeurs de ma feuille [Points] et pas celle de ma feuille [Données] ? Merci d'avance.
 

Code :
  1. Sub Validation()
  2. '
  3. ' Validation Macro
  4. ' Macro enregistrée le 31/12/2005 par jean-marc
  5. '
  6. ' Touche de raccourci du clavier: Ctrl+a
  7. '
  8.     Range("I10:J22" ).Select
  9.     Selection.Sort Key1:=Range("J10" ), Order1:=xlDescending, Header:=xlGuess _
  10.         , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  11.     Range("G18" ).Select
  12. End Sub


 
 
Autre souci, je souhaite récupérer un nom de cellule à partir de la valeur qui est contenue à l'intérieur. Par exemple si B27 contient '150' et que je connais 150, j'aimerais pouvoir récupérer 'B27' =)
 
Merci encore de votre aide. Merci.


Message édité par Sigmar le 31-12-2005 à 18:07:39
mood
Publicité
Posté le 31-12-2005 à 17:09:18  profilanswer
 

n°1275499
galopin01
Posté le 01-01-2006 à 04:53:38  profilanswer
 

bonjour,
pour la première question :
Worksheets("Points" ).Range("I10:J22" ).Sort Key1:=Worksheets("Points" ).Range("J10" ), Order1:=xlDescending
Pour la deuxième :

Code :
  1. Sub Test()
  2. MsgBox Range("I10:J22" ).Find(150).Address
  3. End Sub


A+
 


---------------
roger

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

  Excel et macro

 

Sujets relatifs
[Excel] Executer une macro automatiquement au lancement d'un classeur[vba excel]generer formule par macro
Macro API excel[VBA Excel] Macro excel en batch?
[resolu][VBE] Faire une macro pour copier un module ss excel[Excel] Macro creation graphique en fonction de feuille selectionée
[VBA] Accéder à un formulaire access via une macro sous excel[MACRO excel / resolu ] creation d hyperliens amenant a des feuillets
Macro excel: reduction taille des imagesMacro excel de sauvegarde [resolu]
Plus de sujets relatifs à : Excel et macro


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