cs_Dominike
Messages postés70Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 6 mars 2010
-
14 mai 2008 à 01:31
cs_Dominike
Messages postés70Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 6 mars 2010
-
14 mai 2008 à 18:23
Bonsoir à tous à nouveau !
Dans l'embarras encore, je me tourne vers vous...
Après avoir surmonté ma foi pas si mal quelques difficultés, je bute à nouveau sur un problème.
Pour tenter d'expliquer simplement :
J'ai deux variables qui correspondent :
- l'une (on dira Nombre) au nombre total de lignes d'un liste (plusieurs colonnes)
- l'autre (on dira Echantillon) le nombre de lignes de la liste (en plus des 5 premières) à sélectionner.
--------------------------------------------------
L'idée est de colorier les 5 premières lignes de la liste, puis de colorier les suivantes selon un calcul
du type "colorier (après les 5 premières) toutes les (Nombre divisé par Echantillon).
======================================================
J'ai bien tenté diverses formules de For i to next sans succès étant néanmoins convaincu que je ne suis pas très loin.
-----------------
Je ne sais pas si j'ai été clair,
Un petit coup de main serait bienvenu.
Bonne nuit à vous et merci d'avance !
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 mai 2008 à 02:35
Salut
Pas claire ta question, genre
"en plus des 5 premières" : Quelles 5 premières ?
"le nombre de lignes de la liste à sélectionner"
Bref, tu veux coloriser les lignes d'un ... on ne sait pas quoi, à partir de la 6ème ligne, en changeant de couleur toutes les X lignes.
ChangerTousLes = 3 ' lignes
Compteur = 1
Couleur(0) = &H00FFFF80&
Couleur(1) = &H00C0FFFF&
NoCouleur = 0
For i = 6 To NombreDeLignesTotales
' 6 parce qu'on commence après les 5 premières, si j'ai bien compris
If Compteur >= ChangerTousLes Then
If NoCouleur = 0 Then
NoCouleur = 1
Else
NoCouleur = 0
End If
Compteur = 1
End If
' Ici, colorise ta ligne avec la couleur de Couleur(NoCouleur)
' Incrémente ligne
Compteur = Compteur + 1
Next i
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Dominike
Messages postés70Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 6 mars 2010 14 mai 2008 à 09:49
Merci Jack, C'est un début, mais ça ne fonctionne pas encore.
Il me dit "erreur de compilation, Sub ou fonction non définie !".
Pour être plus clair :
Dans ma liste de 180 lignes (variable Nombre, récupérée en A2 de ma feuille), je voudrais colorier les 5 premières LIGNES entières qui commencent seulement à la ligne 14, puis les autres selon un pas correspondant à (Nombre -5) divisé par une autre variable qui s'appelle Echantillon issue d'un UserForm.
Est-ce plus clair ?
Je me prends un peu la tête avec ça ....
Bonne journée.
cs_Dominike
Messages postés70Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 6 mars 2010 14 mai 2008 à 15:01
Re bonjour Jack,
J'approche on dirait...
juste un petit pb à la syntaxe :
Rows("i:").Select
----
Ci-après mon bout de code :
For i = 9 To Nombre + 8
'---- 9 parce qu'on commence après la 9éme ligne
If Compteur >= Echantillon Then
Compteur = 1
End If
Rows("i:").Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Compteur = Compteur + 1
Next i
--------------------------------------------
Pourrais-tu m'indiquer où se trouve l'erreur ?
Merci à toi.
-Dominike -
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Dominike
Messages postés70Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 6 mars 2010 14 mai 2008 à 17:16
Ben j'avais essayé, mais ça me teinte toutes les lignes de 9 à 180.
Je sèche là.
Et puis j'ai un autre pb. Ma variable Echantillon que je ne peux pas récupérer dans ce module.
Et puis aussi, peut-on procéder à une opération du type "myVar3=MyVar2/MyVar1"
??????
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 14 mai 2008 à 17:28
1/ Pour tes couleurs, c'est normal que tout soit colorée, car ton Rows(i).Select est effectué à chaque passage de la boucle.
A toi de faire tes conditions pour colorer ou non.
2/ passe ta variable Echantillon en Public.
3/ Dim myVar3 As Double, MyVar2 As Double, MyVar1 As Double
cs_Dominike
Messages postés70Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 6 mars 2010 14 mai 2008 à 17:38
Merci pour ton aide précieuse, mais au risque de paraître idiot,
1 /je ne sais pas arrêter le compteur...
2 / Ma variable est déclarée dans le module 1 "Option explicit " telle que "Public Echantillon As Integer" mais je ne parviens pas à indiquer sa valeur issue d'un textbox "Echantillon" car je ne sais pas où le faire.
Dans le code du UserForm, il reconnaît néanmoins cette valeur car je peux l'inscrire dans une MsgBox (toujours dans le code du UseForm).
J'ai parfois le sentiment de me compliquer l'existence et de râler après parce que je la trouve compliquée...
cs_Dominike
Messages postés70Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 6 mars 2010 14 mai 2008 à 18:23
Je venais juste de m'en apercevoir !
Merci pour votre aide te je reprends sûrement très vite contact parce que
" If LaVariableAVerifier = i then TuColories " et ça " Dim myVar3 As Double, MyVar2 As Double, MyVar1 As Double ", je ne suis pas sûr d'y arriver si facilement.
Mais je cherche un peu.
@+ et encore merci et à bientôt.