DN.Cells

Nagrom

XLDnaute Occasionnel
Bonjour,

Je suis en train de faire du ménage dans un code et je suis tombé sur ceci:

Code:
Remplacant = DN.Cells(DN.Cells(1, 2) + 2, 2)

Pourriez-vous m'indiquez à quoi correspondent le résultat de cette ligne?

Merci.
Cordialement,
 

Luki

XLDnaute Accro
Re : DN.Cells

Bonsoir Nagrom,

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.
 

Nagrom

XLDnaute Occasionnel
Re : DN.Cells

Bonjour,

Voilà le reste du code:

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

    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?

Merci.
 

Luki

XLDnaute Accro
Re : DN.Cells

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 cellule ligne 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 cellule ligne 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?
C'est sur un forum de divination que trouveras la réponse, pas sur un forum xl !;)

En espérant t'avoir aidé un peu. Bonne continuation.:)
 

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 600
Membres
104 222
dernier inscrit
mouhim