2 votes

Macro Excel : Définir la formule d'une cellule

J'écris une macro pour insérer une ligne dans toutes les feuilles sélectionnées, puis définir certaines des valeurs pour qu'elles soient égales aux valeurs d'une autre feuille. J'ai réussi à insérer la ligne à l'aide du code suivant, mais je suis bloqué lorsque j'essaie de définir les valeurs. Sans macro, il me suffirait d'entrer =InputC7 Input étant le nom de la première feuille du classeur.

Sub InsertRows()
'
' InsertRows Macro
' Inserts rows into all selected sheets at the same position
'

    Dim CurrentSheet As Object

    ' Loop through all selected sheets.
    For Each CurrentSheet In ActiveWindow.SelectedSheets
        ' Insert 1 row at row 7 of each sheet.
        CurrentSheet.Range("a7:a7").EntireRow.Insert
        CurrentSheet.Range("c7").Value =Input!C7 'this is not working
    Next CurrentSheet
End Sub

4voto

Ripster Points 2985

Si vous voulez seulement la valeur de la feuille nommée "Input", vous pouvez faire ceci :

CurrentSheet.Range("C7").Value = Sheets("Input").Range("C7").Value

Si vous voulez la formule "=Input!C7", vous pouvez faire ceci :

CurrentSheet.Range("C7").Formula = "=Input!C7"

2voto

stenci Points 1394

Vous devez utiliser le Formula au lieu de la Value et le texte doit être cité :

CurrentSheet.Range("c7").Formula "=Input!C7"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X