VBA feuille active - VB/VBA/VBS - Programmation
Marsh Posté le 25-05-2010 à 11:44:56
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
Marsh Posté le 26-05-2010 à 16:59:58
titejessye a écrit : Bonjour, |
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
Marsh Posté le 24-05-2010 à 12:57:09
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