VBA créer une zone nommée problème de syntaxe

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

zephir94

XLDnaute Impliqué
Bonjour à tous,

Je rencontre un soucis de syntaxe pour déclarer une zone nommée de deux lignes avec des variables.

Je dois pas être très loin du pot de Miele ! mais pour l'instant j'ai une erreur de formule renvoyé par Excel snif
Voici mon code :

Code:
Private Sub CommandButton1_Click()
Dim derli As Long


With Sheets("test")
Sheets("test").Select

derli = Range("C" & Rows.Count).End(xlUp).Row
w = (derli + 4)
x = (derli + 6)
Rows(20).Copy Destination:=Rows(derli + 3)
    Range("C" & derli + 3).Value = TextBox1.Value
        Range("B" & derli + 3).Value = (TextBox2.Value)

ActiveWorkbook.Worksheets("test").Names.Add Name:=("risque" & TextBox2.Value), _
        RefersToR1C1:= _
        "=" & Sheets(3).Name & "! A[" & w & "]R[" & w & "]:A[" & x & "]R[" & x & "]"
Unload Me
End With
End Sub

Merci par avance pour vos aides

Cordialement Zephir
 
Dernière édition:
Re : VBA créer une zone nommée problème de syntaxe

Re

En attendant un fichier exemple contenant une Sheets(3) ...🙄
Juste une variante d'écriture d'un bout de ton code
Code:
Private Sub CommandButton1_Click()
Dim derli&, z&, w&, x&
derli = Sheets("test").Range("C" & Rows.Count).End(xlUp).Row
z = derli + 3: w = z + 1: x = z + 3
Rows(20).Copy Destination:=Rows(z)
Sheets("test").Cells(z, "C").Resize(, 2) = Array(TextBox1, TextBox2)
Unload Me
End Sub
 
Re : VBA créer une zone nommée problème de syntaxe

Bon j'ai changé mon fusil d'épaule et j'ai simplement utilisé un Range et sa marche aussi

Code:
Set plage = Range("A" & w & ":M" & x)
plage.Name = ("risque" & TextBox2.Value)
plage.Select

Bonne soirée à tous
 
Re : VBA créer une zone nommée problème de syntaxe

Re

Dans ce cas, tu peux simplement écrire
Code:
Private Sub CommandButton1_Click()
Dim derli&, z&, w, x
derli = Sheets("test").Range("C" & Rows.Count).End(xlUp).Row
z = derli + 3: w = z + 1: x = z + 3
Rows(20).Copy Destination:=Rows(z)
Sheets("test").Cells(z, "C").Resize(, 2) = Array(TextBox1, TextBox2)
Range("A" & w & ":M" & x).Name = "risque" & TextBox2
Unload Me
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

Discussions similaires

Réponses
5
Affichages
241
Réponses
0
Affichages
460
Réponses
1
Affichages
522
Réponses
3
Affichages
898
Retour