reste pas mal de boulot pour rendre tout çà un minimum propre
bon courage
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 déc. 2009 à 14:49
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"
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015 22 déc. 2009 à 14:37
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.
22 déc. 2009 à 14:53
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
22 déc. 2009 à 14:49
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"
22 déc. 2009 à 14:37
Ton code est beaucoup trop long et beaucoup trop mal structuré pour être proposé comme exemple.