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

XL 2016 Userform: Ajouter une 2eme condition si valeur dans textbox

  • Initiateur de la discussion Initiateur de la discussion Pierre95
  • 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 !

P

Pierre95

Guest
Bonjour a tous,

Je suis un peu bloque. Je voudrais rajouter "1" sur la cellule de la colonne suivante si il ya a une valeur sur la textbox "sku1":

Exemple: si en A1 il y a "M40156" alors la case A2 contiendra 1

Option Explicit

Private Sub cmAdd1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("PartsData")

iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.sku1.Value
ws.Cells(iRow + 1, 1).Value = Me.sku2.Value
ws.Cells(iRow + 2, 1).Value = Me.sku3.Value
ws.Cells(iRow + 3, 1).Value = Me.sku4.Value


Dois-je essayer avec un & ? (ws.Cells(iRow, 1).Value = Me.sku1.Value &)

Merci infiniment pour votre aide.

(Ps: pardon pour la ponctuation, le clavier est QWERTY)
 
Bonsoir Pierre,

bienvenue sur le site XLD ! 🙂

tu as écrit :
«
Je voudrais rajouter "1" sur la cellule de la colonne suivante s'il y a a une valeur sur la textbox "sku1".
Exemple: si en A1 il y a "M40156" alors la case A2 contiendra 1.
»

oh, comme c'est bizarre et vraiment très étrange ! 😱 sur mon PC, par rapport à la cellule A1, la cellule qui est en colonne suivante, si je ne me trompe pas, est miraculeusement B1, pas A2 ! 😁 mais peut-être que j'ai fort malencontreusement confondu les lignes avec les colonnes ? sait-on jamais ? je suis parfois si distrait ! 🤪 alors bon, le code VBA suivant est pour : colonne suivante = B :

VB:
Option Explicit

Private Sub cmAdd1_Click()
  Dim iRow&
  With Worksheets("PartsData")
    iRow = .Columns(1).Find(What:="*", SearchOrder:=xlRows, _
      SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
    With .Cells(iRow, 1)
      'copy the data to the database
      .Value = sku1
      If sku1 = "M40156" Then .Offset(, 1) = 1
      .Offset(1) = sku2
      .Offset(2) = sku3
      .Offset(3) = sku4
    End With
  End With
End Sub

c'est le .Offset(, 1) : même ligne, 1 colonne à droite qui équivaut à : colonne suivante = colonne B ! 😁 à toi d'essayer en pratique, je te laisse adapter si besoin... mais essaye de ne plus « confondre tes chemises et tes pantalons ». 😜 (sinon, je connais un très bon opticien... 🤪)

soan
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…