Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 problème de VBA avec name

C'est Génial

XLDnaute Occasionnel
Bonjour à tous,
J'ai créer une VBA pour pouvoir dispatcher à partir d'une base de données créer une feuille par nom avec les données destinées,
J'ai un problème avec le (name)
Pouvez-vous me dire ce que je dois mettre
merci beaucoup
' Boucle pour créer une feuille pour chaque nom unique et copier les données
For Each name In uniqueNames
' Nettoyer le nom pour le rendre valide comme nom de feuille
cleanName = CleanSheetName(name)

' Vérifier si une feuille avec ce nom existe déjà
On Error Resume Next
Set newWs = ThisWorkbook.Sheets(cleanName)
On Error GoTo 0
 

job75

XLDnaute Barbatruc
Bonjour C'est Génial, Oneida, AtTheOne,

Chez moi sur Win 11 Excel 2019 name peut être utilisé comme variable, cette macro va bien :
VB:
Sub Test()
Dim liste, name
liste = Array("a", "b", "c")
For Each name In liste
    MsgBox name
Next
End Sub
A+
 

patricktoulon

XLDnaute Barbatruc
Par contre j'obtiens une erreur de compilation si la macro est dans le code d'une feuille de calcul et si la variable name n'est pas déclarée avec Dim.
ben oui voila
si la variable n'est pas déclarée c'est la propriété name qui est interprété par vba (donc erreur)
donc je plussoie @Oneida
(PAS DE VARIABLES AYANT LE MÊME ORTHOGRAPHE QU UNE PROPERTY OU MEMBRE DUN OBJECT)
 

C'est Génial

XLDnaute Occasionnel
Bonjour à tous,
Mon problème du dessus est résolu
maintenant j'ai un autre problème sur mon calendrier
Sub Init_Cal(Optional Dt As Date) qui se met en jaune avec l'erreur .Label_MY.Caption = Format(Dt, "mmmm yyyy") "
Merci à tous pour votre aide


Sub Init_Cal(Optional Dt As Date)
Dim Annee As Integer, Mois As Byte
Dim index As Byte, i As Integer, j As Integer, d As Date
Dim T As Variant, idx As Byte

With UserForm1
Dt = IIf(Dt = 0, Now, Dt)
.Label_MY.Caption = Format(Dt, "mmmm yyyy") "
Annee = Year(Dt)
Mois = Month(Dt)
index = Weekday(DateSerial(Annee, Mois, 1)) - 1
If index = 0 Then index = 7
T = TFeries(Annee)
idx = 0
For i = 0 To 41
d = DateAdd("d", i - index + 1, DateSerial(Annee, Mois, 1))
Jrm(i) = d
With .Controls("J" & i + 1)
.Caption = Day(d)
.ForeColor = IIf(Month(d) = Mois, &H404040, &HC0C0C0)
.BackColor = &HFFFFFF
.ControlTipText = ""
For j = 1 To 13
If d = T(j, 1) Then
.BackColor = &HE0E0E0
.ControlTipText = T(j, 0)
End If
Next j
If d = Date Then .BackColor = &HC0FFC0
End With
idx = idx + 1
If idx = 7 Then idx = 0
Next i
End With
End Sub
 

Discussions similaires

Réponses
10
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…