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

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:

Staple1600

XLDnaute Barbatruc
Re : VBA créer une zone nommée problème de syntaxe

Re

En attendant un fichier exemple contenant une Sheets(3) ...:rolleyes:
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
 

zephir94

XLDnaute Impliqué
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
 

Staple1600

XLDnaute Barbatruc
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
 

Discussions similaires

Réponses
0
Affichages
148
Réponses
3
Affichages
577
Réponses
9
Affichages
840

Statistiques des forums

Discussions
312 198
Messages
2 086 145
Membres
103 130
dernier inscrit
FRCRUNGR