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

9a marche pour un et pas pour l'autre !!!

  • Initiateur de la discussion Initiateur de la discussion Marc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Marc

Guest
Bonsoir le forum,
Quelqu'un peut-il m'aider.
J'ai un problème avec ce code, il ne marche pas :
Private Sub Ajout_Op_Click()
Worksheets('Listes').Select
If Range('b1').Value = '' Then
Range('b1').Value = Nom_opérateur.Value
Else
Range('B1').End(xlDown).Offset(1, 0).Value = Nom_opérateur.Value (C'est là que ça bloque)
End If
Range('b1:' & Range('b1').End(xlDown).Address).Select
Selection.Sort Key1:=Range('b1'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Nom_opérateur.Value = Nom_opérateur.Text
Ajout_Sup_Op.Hide
End Sub

Par contre celui là fonctionne et il n'y a que la colonne qui change :

Private Sub Ajout_CE_Click()
Worksheets('Listes').Select
If Range('A1').Value = '' Then
Range('A1').Value = Nom_CE.Value
Else
Range('A1').End(xlDown).Offset(1, 0).Value = Nom_CE.Value (juste la lettre de la colonne qui change)
End If
Range('A1:' & Range('A1').End(xlDown).Address).Select
Selection.Sort Key1:=Range('A1'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Nom_CE.Value = Nom_CE.Text
Ajout_Sup_CE.Hide
End Sub
 
Bonsoir Marc,

j'ai testé chez moi en utilisant un nom de plage dans la feuille pour renseigner la macro,
pas de problème dans les 2 cas.

Alors questions: d'où vient ton 'Nom_Opérateur', je comprend qu'il s'agit soit d'une cellule, soit d'un contrôle ( list box ou combo?)
Et j'ai aussi l'impression que ton code est celui d'un contrôle.

Essaies de préciser pour voir le problème, ainsi qu le message d'erreur que te renvoie le vba.
A+
 
bonsoir Marc
le code corrigé et testé

Private Sub Ajout_Op_Click()
Dim Ligne As Integer
With Worksheets('Listes')
If .Range('b1').Value = '' Then
.Range('b1').Value = Nom_opérateur.Value
Else
Ligne = .Range('B65536').End(xlUp).Row + 1
.Range('b' & Ligne).Value = Nom_opérateur.Value
End If
.Range('b1:' & .Range('b1').End(xlDown).Address).Sort Key1:=.Range('b1'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With

Nom_opérateur.Value = Nom_opérateur.Text
Ajout_Sup_Op.Hide

End Sub

à bientôt

🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
736
Réponses
9
Affichages
385
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…