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.
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
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"
Ton code est beaucoup trop long et beaucoup trop mal structuré pour être proposé comme exemple.