Re : Comment parcourrir l'ensemble des plage nommé et les comparer à une variable en
Bonjour Luck
peut être comme ceci :
bonne journée
@+
Merci Pierrot.
Ca marche mais j'ai juste modifié un peu le code car dans le cas d'une plage déjà existante ça boucle en continue sur la MsgBox (légèrement viral
) .
Petit question: comment faire dans ce forum pour mettre du code dans un encadré.
Voici le code:
Sub creaction_nouvelle_reference()
Dim A As Long
Dim b As String
Dim C As String
Dim E As String
Dim F As String
Dim H As String
Dim I As String
Dim n As Name, monnom As String, V As Boolean
A = InputBox(Title:="Bonjour, Salamalikoun, Welcome, Auch kommen, Así vienen", Prompt:="Veuillez Saisir la reférence du produit (uniquement des chiffres) Merci pour votre coopération.")
b = Right(A, 5)
C = "_605_" & b
E = "605-" & b
F = E & """"
H = Right(F, 1)
I = H & F
Do
V = False
monnom = C
For Each n In ActiveWorkbook.Names
If n.Name = monnom Then
V = True
MsgBox "nom existe déjà..."
Exit Sub
End If
Next n
Loop While V
ActiveWorkbook.Names.Add Name:=C, RefersToR1C1:= _
"=OFFSET('Prod Vitro ASM'!R1C2,MATCH(" & I & ",'Prod Vitro ASM'!R1C2:R9998C2,0)" _
& "-1,0,COUNTIF('Prod Vitro ASM'!R1C2:R9998C2," & I & "),1)"
Range(C).Offset(0, 34).FormulaR1C1 = "=SUM(OFFSET(" & C & ",0,33,COUNTA(" & C & "),1))"
Range(C).Offset(0, 36).FormulaR1C1 = "=AVERAGE(OFFSET(" & C & ",0,25,COUNTA(" & C & "),1))"
Range(C).Offset(0, 37).FormulaR1C1 = "=SUM(OFFSET(" & C & ",0,27,COUNTA(" & C & "),1))/SUM(OFFSET(" & C & ",0,24,COUNTA(" & C & "),1))"
Range(C).Offset(0, 38).FormulaR1C1 = "=AVERAGE(OFFSET(" & C & ",0,27,COUNTA(" & C & "),1))"
End Sub