Validations de données : problème pour créer une liste

clements42

XLDnaute Nouveau
Bonsoir, voici mon souci :

Je crée cette liste comme ceci :

Code:
Range("B" & j).Select
             With selection.Validation
                 .Delete
                 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, Formula1:="=R1C3:R20C3"

                 .IgnoreBlank = True
                 .InCellDropdown = True
                 .InputTitle = ""
                 .ErrorTitle = ""
                 .InputMessage = ""
                 .ErrorMessage = ""
                 .ShowInput = True
                 .ShowError = True
             End With

je la remplis donc avec le contenu d'une range (R1C3:R20C3)

problème : aléatoirement, j'ai un bug au niveau de la ligne commençant par Add, c'est la description de la range qui pose problème.

Quand j'ai un bug, il suffit que je remplace les "r" (row) par des "l" (ligne) et ça marche. Et vice versa. Comme si qu'une fois excel est en mode anglais, et une autre fois en français.

Comment résoudre ce soucis, ou existe-t-il une alternative ?

Merci.
 

mth

XLDnaute Barbatruc
Re : Validations de données : problème pour créer une liste

re

Pour tout t'avouer je ne comprends pas pourquoi ça fonctionne chez moi et pas chez toi.
La feuille n'est pas protégée par hasard?

Et si non, en sortant la grosse cavalerie, si tu mets un "on error resume next" juste devant cette istruction, ça donne quoi, les listes se créent ou pas ?
 

mth

XLDnaute Barbatruc
Re : Validations de données : problème pour créer une liste

Je reviens sur ta phrase précédente:
la feuille est 100% vierge car en fait c'est un nouveau classeur que je crée dynamiquement et sur lequel je ne fais que ça​

Tu crées ce nouveau classeur par une macro? ... qui par hasard ferait autre chose ?
 

clements42

XLDnaute Nouveau
Re : Validations de données : problème pour créer une liste

Le contenu de la macro jusqu'à ce fameux morceau :

Code:
    Application.DisplayAlerts = False
    Dim i As Integer, j As Integer

    'création du classeur
    Workbooks.Add
    Dim k As Integer, l As Integer
    
    Cells(1, 1) = cbx_equipe
   
    'remplissage
    k = 2
    rst.CursorLocation = adUseClient
    rst.Open "select nomJoueur from joueur J, equipe E where E.idEquipe = J.idEquipe and E.libEquipe = '" & UserForm1.cbx_equipe & "' order by nomJoueur", cnx2
    
    'valeurs de la liste de validations
    For j = 1 To 15
        Cells(j, 3) = j + 5
    Next j  

    While Not rst.EOF
       
        Cells(k, 1) = rst!nomJoueur
       
        For j = 2 To rst.RecordCount + 1
             Range("B" & j).Select
             With selection.Validation
             
                 .Delete
                 
                 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, Formula1:="=R1C3:R15C3"

                 .IgnoreBlank = True
                 .InCellDropdown = True
                 .InputTitle = ""
                 .ErrorTitle = ""
                 .InputMessage = ""
                 .ErrorMessage = ""
                 .ShowInput = True
                 .ShowError = True
             End With
        Next j
   
       rst.MoveNext
       k = k + 1
   
    Wend

Bref pas de quoi casser 3 pattes à un canard.:confused:
 

mth

XLDnaute Barbatruc
Re : Validations de données : problème pour créer une liste

Si je résume la situation, ça fait quand même deux heures que l'on est en train de discuter autour d'un fichier que tu as joint, qui n'a strictement rien à voir avec le fichier qui pose problème.
Quant au fichier qui pose problème, il n'est toujours pas là, et le code n'est toujours pas complet non plus.

D'autres auront peut-être envie de passer du temps là dessus et de jouer aux devinettes, mais pour ma part j'abandonne.

Bonne soirée/nuit clément et à une prochaine fois peut-être,

mth
 

Paritec

XLDnaute Barbatruc
Re : Validations de données : problème pour créer une liste

Bonjour Tous Mireille:), le forum
Juste ce petit mot pour souligner le courage et la patience de Mireille.
Clement42 si ton fichier est top secret garde le bien au chaud, et trouve tes réponses toi même.
Autrement tu anonymises ton fichier comme te l'a suggéré JC:) , et tu le mets en fichier joint, car tu dis tout faire et que cela ne marche pas, et moi je pense que c'est pas le cas
a+
Papou:)
 

Yaloo

XLDnaute Barbatruc
Re : Validations de données : problème pour créer une liste

Bonsoir Paritec, mth, le forum,

Peut être en utilisant ceci :

Code:
Option Explicit

Public Sub test()
Cells.Validation.Delete
Dim j As Integer
    For j = 1 To 15
      Cells(j, 3) = j + 5
    Next j
    
    For j = 1 To 10
      Range("B" & j).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
           xlBetween, Formula1:="=Essai"
    Next j
End Sub

"Essai" étant la liste de validation.
En faisant la suppression avant tout le reste. Chez moi ça fonctionne.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 295
Membres
103 171
dernier inscrit
clemm