XL 2016 Erreur VBA

ozzii

XLDnaute Junior
Bonjour,

À mon travail nous sommes passé sous Office 365.
Avant (office 2010) cette macro fonctionnais, mais plus maintenant.
J'ai une erreur au niveau du ".Add Type" :
VB:
If Sheets(i).Name <> "Donnees" Then
Range("B2").Select
With Selection.Validation
    '.Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=HOTELS"
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With
End If

Et j'ai bien cela dans Noms :
"HOTELS" en étendu classeur
Code:
=DECALER(Donnees!$A$1;;;NBVAL(Donnees!$A:$A);1)

Je ne comprends pas pourquoi cette erreur. Une idée ???

Merci par avance.
 

Jacky67

XLDnaute Barbatruc
Je pense avoir trouvé.
J'ai mis en commentaire :
Code:
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""

Cela à l'aide de focntionner.
Je reteste plus profondement demain et je vous tiens au courant.
Bonjour,

Cette macro est incomplète :eek:
1-Tester la valeur de "i" dans "Sheets(i).Name"
2-Laisser ".Delete"
3- Ceci devrait être suffisant (sans connaitre la valeur de i)
VB:
If Sheets(i).Name <> "Donnees" Then
  With [b2].Validation
    .Delete
   .Add Type:=xlValidateList, Formula1:="=HOTELS"
  End With
End If
 

ozzii

XLDnaute Junior
Bonjour et merci jacky67 pour la réponse.

Oui la macro n'était pas complète. Je n'avait pas mis la première boucle :
Code:
For i = 1 To Sheets.Count

Sinon votre code fonction, et ma modification aussi.
Donc, sans ces 4 initialisations c'est ok sous Excel 2016.

Va comprendre.......

Merci encore pour l'aide.
 

Discussions similaires