Mise en forme avec macro sous excel (Résolu)

Mise en forme avec macro sous excel (Résolu) - VB/VBA/VBS - Programmation

Marsh Posté le 17-04-2007 à 11:22:20    

Bonjour,
je cherche à faire de la mise en forme dans un fichier excel.
Pour cela j'ai souhaité utiliser une macro car c'est un travail répétitif (tous les 2 jours)
et que je souhaite gagner du temps.
Mon fichier excel peut contenir entre 1500 et 5000 lignes suivants les jours.
 
J'arrive à faire ma mise en forme sur un nombre de ligne donnée mais celle-ci changeant à chaque fois,
j'ai voulu mettre une variable calculée;
C'est à dire le nombre de ligne que je suis capable de calculer grace aux 2 lignes suivantes:
 
     Dim ligne As Integer
     ligne = Cells.SpecialCells(xlCellTypeLastCell).Row

 
ensuite j'ai voulue remplacer mes lignes qui était:
 
     Range("A1:H5000).Select
     Range(H5000).Activate

 
par
 
    Range(Cells(1, 1), Cells(ligne, 8)).Select
     Range(Cells(ligne, 8)).Activate

 
Mais voilà cela ne veut pas fonctionner j'ai le message suivant :
Erreur d'exécution '1004': (numero de ma ligne d'erreur)
La méthode 'Range' del'objet '_Global' a échoué
 
et je ne vois pas vraiment où est le problème n'ayant fait que remplacé des écriture par d'autres equivalentes (enfin je crois)
 
Merci pour l'aide qui me sera apporter


Message édité par aculy le 17-04-2007 à 11:57:29
Reply

Marsh Posté le 17-04-2007 à 11:22:20   

Reply

Marsh Posté le 17-04-2007 à 11:24:34    

tu as oublié les guillemets "" dans tes range ^^


Message édité par jpcheck le 17-04-2007 à 11:24:46
Reply

Marsh Posté le 17-04-2007 à 11:28:15    

c'est à dire que j'aurais du faire
  Range("Cells(1, 1)", "Cells(ligne, 8)" ).Select  
     Range("Cells(ligne, 8)" ).Activate
?????????????

Reply

Marsh Posté le 17-04-2007 à 11:37:01    


non, mais dans ton range de départ ;)
 
plus sérieusement, fais un msgbox ou un debug.print de ta ligne pour savoir quel nombre est retourné, voir ce qui cloche.

Reply

Marsh Posté le 17-04-2007 à 11:40:22    

cela n'a rien change j'ai toujours le meme message d'erreur

Reply

Marsh Posté le 17-04-2007 à 11:41:24    

non il compte le bon nombre
car j'avais fait un msgbox pour sortir le chiffre est controle.

Reply

Marsh Posté le 17-04-2007 à 11:42:07    

qu'a tu dans ta msgbox apres ces lignes stp ?
 
Dim ligne As Integer  
     ligne = Cells.SpecialCells(xlCellTypeLastCell).Row  
     msgbox ligne
 

Reply

Marsh Posté le 17-04-2007 à 11:44:27    

oui tout a fait

Reply

Marsh Posté le 17-04-2007 à 11:51:23    

et avec ca ?
Range(Cells(ligne, 8),Cells(ligne, 8)).Activate  
chez moi ca tourne :)

Reply

Marsh Posté le 17-04-2007 à 11:55:42    

Range(cells(X,Y)) ne fonctionne pas.
 
Range fonctionne pour une plage d'au moins 2 cellules.
pour une seule cellule : cells(X,Y) suffit.
 
Par ailleurs les .select et .activate sont inutiles.
 
Si tu veux envoie ton code, je te le nettoie en t'expliquant.

Reply

Marsh Posté le 17-04-2007 à 11:55:42   

Reply

Marsh Posté le 17-04-2007 à 11:56:53    

YES YES YES
merci a toi ca fonctionne
C trop cool
merci merci merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed