Sans le reste du code... difficile à dire.
Je n'ai jamais rencontré d'instruction "DN"
Pour moi DN doit être une variable feuille. Tu devrais trouver dans ton code, plus haut :
Dim DN as Worksheet (Si les variables ont été correctement déclarées.)
puis
set DN = worksheet(????)
Si c'est ça, il s'agit d'un objet feuille, et par conséquent, la référence d'une cellule de cette feuille.
Sub Mise_en_forme()
Set DN = Worksheets("Données")
Set Bd = DialogSheets("Dialogue")
Application.ScreenUpdating = False
Remplacant = DN.Cells(DN.Cells(1, 2) + 2, 2)
DN.Range("C2").Value = Remplacant
With Selection.Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 6
.Bold = True
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
End With
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.FormulaR1C1 = Remplacant
End Sub
C'est effectivement rattaché à un objet du type liste déroulante. Le contenue de la liste ce trouve à partir de la cellule B3 d'une feuille du classeur.
Si je souhaites déplacer le contenue dans la colonne D à partir de D3 où vont se faire ressentir les modifications au niveau du code?
Bonjour Nagrom, je vais répondre partiellement à tes questions.
Une grande partie de ton code concerne la mise en forme de la sélection en cours lors de l'exécution de ta macro : Du premier With Selection
jusqu'au dernier End With Mettons le de côté pour nous consacrer à l'essentiel, ça nous donne :
Code:
Sub Mise_en_forme()
Set DN = Worksheets("Données")
Set Bd = DialogSheets("Dialogue")
Application.ScreenUpdating = False
Remplacant = DN.Cells(DN.Cells(1, 2) + 2, 2)
DN.Range("C2").Value = Remplacant
Selection.FormulaR1C1 = Remplacant
End Sub
Ta macro va donc chercher une valeur dans la feuille de données pour remplacer les valeurs de :
- la cellule "C2" de la feuille de donées.
- la sélection en cours
Décryptons maintenant le code qui affecte une valeur à remplaçant. Il y a 2 propriétés "cells" imbriquées. Ci dessous, j'indique en couleur le paramètre et son explication.
remplacant=DN.Cells(DN.Cells(1, 2) + 2, 2) le code en gras renvoie le numéro de ligne (propriété'Rows') à la 1ère propriété 'cells'.
Dans ce cas, il s'agit de prendre la valeur de la celluleligne 1, colonne 2, donc la cellule "B1" et d'y ajouter 2.
Admettons que valeur de "B1" soit 0, le code deviendrait dans ce cas :
remplacant=DN.Cells(0+ 2, 2) qui renvoie la valeur de la celluleligne 0+2, colonne 2, donc la cellule "B2".
Voilà. Concernant le reste de ta question :
Si je souhaites déplacer le contenue dans la colonne D à partir de D3 où vont se faire ressentir les modifications au niveau du code?