Sélectionner, Décaler et colorier

  • Initiateur de la discussion Initiateur de la discussion RV37
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

RV37

XLDnaute Junior
Bonsoir le Forum,

Dans le cadre de la réalisation d'un planning, je souhaite savoir comment intégrer dans ma macro la possibité à partir d'une cellule sélectionnée, décaler selon une valeur contenue dans une cellule de x cellules vers la gauche et leurs appliquer un code couleur.

Ex : En Feuil1, je recherche la valeur de la cellule F5 = 8 dans la seconde ligne de la feuil2 je me place en dessous de la cellule contenant 8 d'une ligne.

Ensuite en feuil1, j'ai en valeur de la cellule H5 = 3, je souhaite donc en feuil2
à l'endroit où je me sui déplacé, sélectionner la cellule active + 2 (=", valeur de H5) et les colorier en rouge, pour l'exemple.

Avez vous ce bout de code qui me bloque sur mon projet.

J'espère avoir été clair ce n'est pas toujours le cas.

D'avance merci et bonne soirée.

RV37
 
Re : Sélectionner, Décaler et colorier

Bonsoir Hasco, le forum,

Ok pour l'aide en ligne. Ce que je n'ai pas précisé c'est que ma valeur en H5 peur être différente selon les horaires. Il faut donc que j'aille chercher cette valeur pour indiquer que combien de cellules je dois décaler et ensuite colorier.

E t là, je sais pas faire.

Merci
 
Re : Sélectionner, Décaler et colorier

Bonjour Le Forum,

Désolé de relancer mais il me manque ce bour de macro pour terminer mon fichier. Voici un extrait de ma macro avec en ROUGE ce que je souhaite ajouter pour finaliser le projet.

Extrait :

Sub Recherche()
'
' Recherche Macro
' Macro enregistrée le 08/01/2010 par dekmeer
'
'
'Vérifie et applique les horaires du salarié 1
'Blocage écran
Application.ScreenUpdating = False
Dim x As Range
'Sélectionne la feuille "Paramètres"
Sheets("Paramètres").Activate
'Si Total Horaire Jour > 0
If Range("AH5") > 0 Then
'Si Horaires 1 > 0, Applique sinon passe à Horaire 2
If Range("H5") > 0 Then
'Recherche la valeur de la cellule F5 de la feuille "Paramètres" dans la feuille "Planning"
Set x = Sheets("Planning").Rows(2).Find(Sheets("Paramètres").Range("F5").Value, , xlValues, xlWhole, , , False)
'Si valeur pas présente, rien, si valeur présente, se positionne une cellule en dessous
If Not x Is Nothing Then Application.Goto x.Offset(1, 0)
'A partir de la cellule sélectionner, je souhaite colorier les x cellules à droite de la cellule active selon la valeur de la cellule H5 de la feuille "Paramètres"
ActiveCell.Interior.ColorIndex = 3
End If
End Sub

Quelqu'un a une idée ?? car j'ai beau chercher dans le forum et tester des tas de formules , le résultat ne fonctionne pas.

Merci de votre aide

RV
 
Re : Sélectionner, Décaler et colorier

bonjour,

Code:
If Not x Is Nothing Then Application.Goto x.Offset(1, 0)
ActiveCell[B].Resize(,[H5]).[/B]Interior.ColorIndex =3
End If

Ou

Code:
ActiveCell[B].Resize(,[H5]+1).[/B]Interior.ColorIndex =3

si ActiveCell ne fait pas partie du 'x colonnes à droite' dont tu parles/

A+
 
Hasco, le forum,

Merci pour ta réponse.

Malheureusement cela ne fonctionne pas, tout au moins sur le résultat escompté.

Je te joins le fichier. Dans la page paramètres, il me colorie H5 en Fushia ?? et dans la feuille planning, il me met bien ma première cellule, ligne 1, en J3 qui correspond à 7h et la seconde en R3.

Alors que le résultat souhaité devrait être de J3 à Q3.

Je sui peut être compliqué en remarque !!

RV
 

Pièces jointes

Re : Sélectionner, Décaler et colorier

Bonjour,

Pour la partie de code :

6 cellules à droite de j cela fait O (j compris) J3:O3

Code:
        If Range("H5") > 0 Then
            'Recherche la valeur de la cellule F5 de la feuille "Paramètres" dans la feuille "Planning"
            Set x = Sheets("Planning").Rows(2).Find(Sheets("Paramètres").Range("F5").Value, , xlValues, xlWhole, , , False)
            'Si valeur pas présente, rien, si valeur présente, se positionne une cellule en dessous
            If Not x Is Nothing Then
                x.Offset(1).Resize(, [H5]).Interior.ColorIndex = 3
            End If
        End If

il n'est pas besoin de Application.Goto qui change la feuille active.
[H5] étant sur la feuille paramètre, avec application.goto il prenait [H5] de la feuille planning.

A+
 
Re : Sélectionner, Décaler et colorier

Hasco, Le Forum,

Que dire de plus. Cela fonctionne. Un grand merci Hasco, je ramais depuis hier soir.

Pour comprendre, car je ne suis pas un pro et loin de là des macros; que signifie "Resize" et quel est sa fonction??

Bone soirée,

RV
 
Re : Sélectionner, Décaler et colorier

Re,

Dans ces cas là F1 avec le curseur sur l'instruction est fantastique.

Resize(nLigne(s), nColonne(s)) Retaille une référence de cellule de nLigne(s) et/ou ncolonne(s).

Quand tu modifies une cellule par macro demandes-toi toujours sur quelle feuille la macro va travailler.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
340
Réponses
2
Affichages
249
Réponses
4
Affichages
245
Réponses
5
Affichages
472
Réponses
3
Affichages
438
Retour