Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2011, 16h13   #1
Membre habitué
 
Avatar de Ju1.0
 
Homme Julien
Automaticien / Technicien d'étude nucléaire
Inscription : novembre 2010
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 27
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Automaticien / Technicien d'étude nucléaire
Secteur : Industrie

Informations forums :
Inscription : novembre 2010
Messages : 115
Points : 146
Points : 146
Par défaut Limite de mise en forme conditionnelle

(re)Bonjour

Je dois faire une mise en forme conditionnelle sur au minimum 52(lignes)*27(colonnes) soit 1404 cellules. Je fait cette mise en forme (une seule condition) sur la première cellule, et par macro je fait un collage spécial sur toutes les autres cellules pour garder juste la mise en forme
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub CopyFormat()
Dim NbCol As Long
Dim NbRow As Long
 
    Range("j8").Select
    Selection.Copy
    For NbRow = 3 To 309 Step 6
        For NbCol = 3 To 211 Step 8
            Range(SayCol(NbCol + 7) & CStr(NbRow + 5)).Select
            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Next NbCol
    Next NbRow
 
End Sub
 
 
Function SayCol(ByVal NrCol As Long) As String 'donne la lettre de la colonne avec son numéro
    SayCol = (Split(Columns(NrCol).Address(ColumnAbsolute:=False), ":")(1))
End Function
Ça marche très bien mais lorsque je veux enregistrer, ça me sort ça :
Citation:
Impossible d'enregistrer la totalité des données et mises en formes ajoutées récemment à mon fichier.xls.

- Cliquez sur Annuler pour interrompre l'enregistrement et retourner à votre classeur.
- Cliquez sur OK pour reprendre l'enregistrement sans régler le problème.
Bien sur, l'aide proposé est vide

L'enregistrement des mise en forme s'arrête à la fin de la 38ème ligne, soit 1026 cellules.

Ce qui est étrange, c'est que avant, ces cellules avait non pas 1 mais 2 mises en forme et pour une de ces cellules, il y en avait 7 avec juste une mise en forme (soit 11232 cellules). et les mises en formes s’arrêtaient à la même lignes (soit 8208 cellules prisent en compte, largement plus que les 1404 dont j'ai besoin au minimum). Voyant ce message d'erreur, j'ai voulu réduire le nombre de mise en forme à ce que j'ai présenté en début de message, mais comme vous le voyez, ça ne change rien.

Je pense que le problème viens d’ailleurs, mais où ?
Ju1.0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 19h42   #2
Membre régulier
 
Inscription : mars 2007
Messages : 164
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 164
Points : 92
Points : 92
Bonsoir

Ne serait ce pas en raison de l'extension ?
Enregistre ton fichier en sélectionnant l'extension avec macro
crissud est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 15/02/2011, 21h57   #3
Membre Expert
 
Avatar de rtg57
 
Homme
Autodidacte
Inscription : mars 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Autodidacte
Secteur : Service public

Informations forums :
Inscription : mars 2006
Messages : 1 175
Points : 1 435
Points : 1 435
Bonjour,

j'ai déjà été confronté à ce problème.

J'avais une page EXCEL avec 400 lignes sur une dizaine de colonnes de mises en forme conditionnelle. Même message que le votre.
Il semble que le nombre de mise en forme conditionnelle soit limité par feuille.
J'ai donc dû revoir à la baisse mes ambitions et cherché une autre ergonomie de ma feuille pour avoir moins de mise en forme conditionnelle.

@ bientôt...
__________________
@ bientôt...

Salut & @+ sur 3W!
rtg57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 22h26   #4
Membre habitué
 
Avatar de Ju1.0
 
Homme Julien
Automaticien / Technicien d'étude nucléaire
Inscription : novembre 2010
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 27
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Automaticien / Technicien d'étude nucléaire
Secteur : Industrie

Informations forums :
Inscription : novembre 2010
Messages : 115
Points : 146
Points : 146
Je met à jour ce message demain, mais ça a à l'aire d'être plus compliqué que ça. J'ai divisé par 8 le nombre de mise en forme (répartie uniformément dans la feuille) et la capacité du fichier s’arrête toujours à la fin de la même ligne. De plus, j'en ai rajouté par la suite une 50aine avant de partir du boulot et elles ont l'aire d'avoir été prise en compte.

Quand à l'enregistrement avec l'extension avec macro, je pensai que c'est quelque chose apparu avec office 2007, je n'ai jamais eu de problème de sauvegarde avec des fichier excel contenant des macro.


Plus de précision dans ce thread demain matin mais merci pour vos réponse.

bonne nuit
Ju1.0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 23h28   #5
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour à tous,

Changes ton code par :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub CopyFormat()
Dim NbCol As Long
Dim NbRow As Long
 
Application.ScreenUpdating = False
 
Range("j8").Select
    Selection.Copy
    For NbRow = 3 To 309 Step 6
        For NbCol = 3 To 211 Step 8
            Range(SayCol(NbCol + 7) & CStr(NbRow + 5)).Select
            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Next NbCol
 Next NbRow
 
Application.ScreenUpdating = True
 
End Sub
Cordialement
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 10h24   #6
Membre habitué
 
Avatar de Ju1.0
 
Homme Julien
Automaticien / Technicien d'étude nucléaire
Inscription : novembre 2010
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 27
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Automaticien / Technicien d'étude nucléaire
Secteur : Industrie

Informations forums :
Inscription : novembre 2010
Messages : 115
Points : 146
Points : 146
Le Screen-Updating ne change rien.
Ce matin, un peu plus de cellules acceptent la mise en forme, mais c'est toujours pas ça. Ça serai pas un problème de mémoire du pc ?
Sinon, je peux faire tourner une macro à l'ouverture du fichier qui refait cette mise en forme, mais il faudrait que le message n'aparraisse pas à l'enregistrement.
Comment faire ?
Ju1.0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 09h20   #7
Membre Expert
 
Avatar de rtg57
 
Homme
Autodidacte
Inscription : mars 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Autodidacte
Secteur : Service public

Informations forums :
Inscription : mars 2006
Messages : 1 175
Points : 1 435
Points : 1 435
Bonjour,

tant qu'à faire une macro, alors vous n'avez qu'à définir les propriétés des cellules à travers la macro, en traitant les conditions de mise en forme par le programme.
Ainsi vous soulagez votre classeur EXCEL. Imaginez:
* Vous mettez une mise en forme conditionnelle sur 1000 cellules: concrètement cela fait 1000 "petits programmes" de test et de mise en forme.
* Vous faites le traitement à travers VBA: cela fait 1 programme qui traite 1000 cellules.

Donc faites la copie de votre sélection en ne gardant que les valeurs, puis parcourez les cellules en y mettant les couleurs et autres...

@ bientôt...
__________________
@ bientôt...

Salut & @+ sur 3W!
rtg57 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/02/2011, 09h53   #8
Membre habitué
 
Avatar de Ju1.0
 
Homme Julien
Automaticien / Technicien d'étude nucléaire
Inscription : novembre 2010
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Julien
Âge : 27
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Automaticien / Technicien d'étude nucléaire
Secteur : Industrie

Informations forums :
Inscription : novembre 2010
Messages : 115
Points : 146
Points : 146
rtg57
Ça à l'aire d'être ce dont j'ai besoin ! Merci beaucoup vraiment ! Je m'en occupe dans 15 jours (Le client nous a donné en urgence une perie dont il connaissaient l’existence depuis 3 ou 4 ans et la date limite depuis 3 ou 4 mois, ils nous donnent 3 ou 4 jours pour le faire alors qu'il faut 3 ou 4 semaine)
Ju1.0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h01.


 
 
 
 
Partenaires

Hébergement Web