COLORIAGE DE TABLEAU

Signaler
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51009-coloriage-de-tableau

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
salut,
tout à fait d'accord avec la précédente remarque

en plus une erreur de frappe : DA apparait 2 fois pour 2 valeurs différentes (select case, la seconde ne sera jamais évaluée)

voir ce snippet pour gagner quelques (300) lignes
http://www.codyx.org/snippet_identifier-position-colonne-excel-depuis-son-header-vice_282.aspx#906

reste pas mal de boulot pour rendre tout çà un minimum propre
bon courage
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
clair.

utilises des boucles, supprime ce genre de choses:
Select Case colstartCB.Value
Case "A"
colS = 1
Case "B"
colS = 2

au profit d'un calcul bien senti.

de même, dommage de changer le focus a tour de bras (lent)

Range("A1").Select
ActiveCell.FormulaR1C1 = "Ligne de départ"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Ligne de fin"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Colonne de départ"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Colonne de fin"
Range("E1").Select
ActiveCell.FormulaR1C1 = "HEXACOLOR1"
Range("F1").Select
ActiveCell.FormulaR1C1 = "Aperçu1"
Range("G1").Select
ActiveCell.FormulaR1C1 = "HEXACOLOR2"
Range("H1").Select
ActiveCell.FormulaR1C1 = "Aperçu2"

donne simplement

Range("A1").Value = "Ligne de départ"
Range("B1").Value = "Ligne de fin"
Range("C1").Value = "Colonne de départ"
Range("D1").Value = "Colonne de fin"
Range("E1").Value = "HEXACOLOR1"
Range("F1").Value = "Aperçu1"
Range("G1").Value = "HEXACOLOR2"
Range("H1").Value = "Aperçu2"
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

Outre le fait que tu aurais du préciser que ta source était liée à Excel, je t'invite très fortement à regarder la syntaxe de la boucle For...Next et les arguments qui peuvent être passé à Range.
Ton code est beaucoup trop long et beaucoup trop mal structuré pour être proposé comme exemple.