• Initiateur de la discussion Initiateur de la discussion alf049
  • 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 !

A

alf049

Guest
Bonjour,
n'étant pas très callé en VBA et encore moins lorsqu'il s'agit de mettre en relation 2 onglets, je me tourne vers vous pour obtenir de l'aide.

L'idée consiste à écrire que si la case est vide alors il ne se passe rien, s'il y a du texte, je vais chercher dans l'onglet A sur la même ligne la couleur affecté à la cellule Ax.
Exemple: si vide = blanc, si donnée en B3 alors je vais cherché la couleur de la cellule A3 dans l'onglet A

Je pensais l'écrire comme cela mais je coince:

Sub MEFC()
'
' Mise en forme conditionnelle
'
Dim RngCell As Range

Sheets("ongletB").Select

For Each RngCell In Range("A1:Z19").Cells
If RngCell.Value = "" Then RngCell.Interior.Color = RGB(0,0,0)
if rngcell.value=

End Sub

merci à celui qui voudra bien m'aider.
 
Re : aide script VBA

Bonjour,

Ton code fonctionne

tu as besoin dans ta feuille de reference de donner tes valeurs RGB sous la forme de trois colonnes et donner le numero de ligne en reference.

Par exemple :

Dim RngCell As Range
Dim Ligne As Long
Sheets("ongletB").Select
For Each RngCell In Range("A1:Z19").Cells
If RngCell.Value = "" Then Ligne = 1

RngCell.Interior.Color = RGB(Sheets("A").Cells(Ligne, 1).Value, _
Sheets("A").Cells(Ligne, 2).Value, Sheets("A").Cells(Ligne, 3).Value)
Next RngCell

a te lire
 
Re : aide script VBA

bonjour,
désolémais ca bug 1004:
RngCell.Interior.Color = RGB(Sheets("A").Cells(Ligne, 1).Value, Sheets("A").Cells(Ligne, 2).Value, Sheets("A").Cells(Ligne, 3).Value)

as-t-on avis pourquoi ?
 
Re : aide script VBA

bonsoir,
staple, tu as saisie ce que je souhaite faire. cela est-il possible sans le bouton ? 😕

JeanPierre, je vais te l'avouer il ne s'agit pas de manque de patience mais ni plus ni moins que de frustrations par rapport à un savoir que je n'ai pas mais que j'éssai d'acquérir. 😛
Car en ce qui me concerne je préfère apprendre à pécher le poisson que je mange plutôt que de l'acheter chez le poissonnier.😉

Penses-tu pouvoir m'aider ?
 
Re : aide script VBA

Re


Oui, il suffit d'utiliser le code VBA de la macro test
(Outils/Macros/Microsoft Visual Basic Editor)

et par exemple, de lui associer un raccourci-clavier.

Comme tu disais plus tôt
n'étant pas très callé en VBA
Tu connais VBA jusqu'à quel point ?


EDITION: par commodité je mets le code dans le message
(en y ajoutant des commentaires)
Code:
Sub test()
[COLOR=SeaGreen]'Déclarations des variables[/COLOR]
Dim i As Long
[COLOR=SeaGreen]'Parcours de la plage de cellules à traiter
'(ici de 1ère cellule à la dernière cellule non vide
'de la colonne B de la feuille 2)
[/COLOR] For i = Feuil2.[B65536].End(xlUp).Row To 1 Step -1
[COLOR=SeaGreen]'Si la cellule en colonne B n'est pas vide[/COLOR]
If Not IsEmpty(Feuil2.Cells(i, 2)) Then
[COLOR=SeaGreen]'alors cette cellule prend la couleur de fond[/COLOR]
[COLOR=SeaGreen]de la cellule de la feuille A (de même ligne).[/COLOR]
Feuil2.Cells(i, 2).Interior.ColorIndex = _
Sheets("A").Cells(i, 1).Interior.ColorIndex
End If
Next i
End Sub
 
Dernière édition:
Re : aide script VBA

bonjour,

avant que tu ne me le conseil j'avais procéder ainsi sauf que je me suis retrouvé avec une erreur 424 Object manquant.

Donc j'ai modifié l'écriture comme cela:
Sub mfc()
Dim i As Long
Dim planning As Worksheet
With planning
For i = Range("a2:k20").End(xlUp).Row To 1 Step -1
If Not IsEmpty(Cells(i, 2)) Then
Cells(i, 2).Interior.ColorIndex = Sheets("données").Cells(i, 1).Interior.ColorIndex
End If
Next i
End With
End Sub

ce qui m'a permis de corriger le bug, mais j'ai pas l'effet escompté.

Au fait:
la mise en couleur est réalisé avec script de MFC dans l'onglet "Données", cela vient-il de là ?

Private Sub worksheet_change(ByVal target As Range)
Dim cellule As Range
Set cellule = Application.Intersect(Range("A:A"), target)
If cellule Is Nothing Then Exit Sub
Select Case target.Value
Case "rh"
target.Offset(0, 1).Interior.ColorIndex = 35
End Select
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
0
Affichages
657
Réponses
2
Affichages
515
B
  • Question Question
Réponses
3
Affichages
1 K
L
Réponses
1
Affichages
1 K
L
I
Réponses
2
Affichages
945
im_Guillaume
I
L
Réponses
4
Affichages
806
Lindsay_RBD
L
Z
Réponses
3
Affichages
1 K
Z
Retour