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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA feuille active

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA feuille active

n°1995546
titejessye
Posté le 24-05-2010 à 12:57:09  profilanswer
 

Bonjour,
 
J'ai réalisé un programme permettant grâce à un bouton d'ouvrir un document et sur ce document de faire de la mise en forme. J'ai réussi pour les filtres ou les bordures de dire que c'était sur la feuille active que je voulais faire ces changements en rajoutant devant :
 
ActiveSheet. Cells.AutoFilter (pour faire un filtre par exemple)
 
Cependant je voudrais mettre aussi une condition sur une des colonnes en disant que si le chiffre est inférieur à 0 qu'il soit en gras et rouge donc j'ai fait la macro et elle marche le problème c'est qu'elle le fait sur le fichier où j'ai créé le bouton et non sur le fichier ouvert et dans ce cas je ne sais pas quoi mettre avant la boucle pour lui spécifier que c'est sur la feuille active qu'il faut le faire
 
voila le code pour le gras et la couleur :
For i = 1 To max
If Range("G" & i) < 0 Then
'permet de mettre le texte en rouge
Range("G" & i).Font.ColorIndex = 3
'permet de mettre le texte en gras
Range("G" & i).Font.Bold = True
End If
Next
 
Si je n'ai pas été clair dans ma demande n'hésité pas à me demander plus d'explication
 
Merci de votre aide

mood
Publicité
Posté le 24-05-2010 à 12:57:09  profilanswer
 

n°1995802
dje69r
Arme de distraction massive
Posté le 25-05-2010 à 11:44:56  profilanswer
 

Hello
 
Je ne comprends pas trop le souci etant donné que tu fais ta mise en forme sur le fichier ouvert... La suite du code devrait elle aussi se derouler sur le fichier ouvert.
Tu dois avoir qques choses qui passe a l'autre fichier...
 
Sinon, si le fichier ne contient pas de données confidentielles (tu peux les supprimer aussi) fais moi suivre le fichier. Il y a mon mail dans mon profil.
 
Cordialement


Message édité par dje69r le 25-05-2010 à 11:58:39

---------------
Plus tu pédales moins vite, moins tu avances plus vite — SuperLoustic ! La radio des Loustics !
n°1996246
Xxxaaavvv
Posté le 26-05-2010 à 16:59:58  profilanswer
 

titejessye a écrit :

Bonjour,
 
J'ai réalisé un programme permettant grâce à un bouton d'ouvrir un document et sur ce document de faire de la mise en forme. J'ai réussi pour les filtres ou les bordures de dire que c'était sur la feuille active que je voulais faire ces changements en rajoutant devant :
 
ActiveSheet. Cells.AutoFilter (pour faire un filtre par exemple)
 
Cependant je voudrais mettre aussi une condition sur une des colonnes en disant que si le chiffre est inférieur à 0 qu'il soit en gras et rouge donc j'ai fait la macro et elle marche le problème c'est qu'elle le fait sur le fichier où j'ai créé le bouton et non sur le fichier ouvert et dans ce cas je ne sais pas quoi mettre avant la boucle pour lui spécifier que c'est sur la feuille active qu'il faut le faire
 
voila le code pour le gras et la couleur :
For i = 1 To max
If Range("G" & i) < 0 Then
'permet de mettre le texte en rouge
Range("G" & i).Font.ColorIndex = 3
'permet de mettre le texte en gras
Range("G" & i).Font.Bold = True
End If
Next
 
Si je n'ai pas été clair dans ma demande n'hésité pas à me demander plus d'explication
 
Merci de votre aide


 
L'objet Range s'applique sur un activesheet si tu ne précise pas
activesheet s'applique sur activeworkbook si tu ne précise pas
 
bref pour réécrire le truc correctement 'avec des objets précis' c'est comme ça  
 
 
With Workbooks("non de ton classeur" )
   With .Worksheets("non de ta feuille" )
 
     .Cells.AutoFilter
 
      For i = 1 To max  
         If .Range("G" & i) < 0 Then  
            'permet de mettre le texte en rouge  
            .Range("G" & i).Font.ColorIndex = 3  
            'permet de mettre le texte en gras  
            .Range("G" & i).Font.Bold = True  
         End If  
      Next
   end with
end with


Message édité par Xxxaaavvv le 26-05-2010 à 17:00:32

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

  VBA feuille active

 

Sujets relatifs
Help: Projet VBA[Résolu] Changer couleur du lien de la page active
VBA : un ptit coup de pousse ;)barre de progression VBA access
[VBA/EXcel] Faire plusieurs Tableaux croisés Dyn.[VBA-Access] Tableau dont on ne connait pas Nb de lignes
VBA, boucle For i = a to b a>b POSSIBLE ?programmation Excel / VBA
Excel VBA Fonction Somme des (xi - yi)²Covariance VBA: Problème
Plus de sujets relatifs à : VBA feuille active


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