Besoin d'aide sur UserForm

Arpette

XLDnaute Impliqué
Bonjour à toutes et à tous, j'ai un USF avec 7 combo que m'a fait JNP. Si je clique sur une ligne de la colonne B, le USF ouvre. Je saisis du texte dans les combo et en fonction du nombre de caractères, va à la suivante directement. Quand je valide ça me rempli les cellules de B. Ce que je souhaiterais, c'est si je veux modifier le contenu d'une ou suite de lignes, je me positionne sur la cellule, que le texte apparaisse dans les combo et que je puisse modifier. Je ne sais pas si c'est faisable
Merci de votre aide
@+
 

Pièces jointes

  • Découpe améliorée.xls
    58.5 KB · Affichages: 95
  • Découpe améliorée.xls
    58.5 KB · Affichages: 101
  • Découpe améliorée.xls
    58.5 KB · Affichages: 94

Arpette

XLDnaute Impliqué
Re : Besoin d'aide sur UserForm

Bonjour Fhoest, j'ai modifié le code pour la référence s'inscrive là où j'ai sélectionné. Le problème est que lorsque je valide la désignation, elle se met sur la première ligne de B. Je cherche, je te joints le fichier dis moi ce que tu en penses.
Meri pour ton aide
@+
Cijoint.fr - Service gratuit de dépôt de fichiers
 

Arpette

XLDnaute Impliqué
Re : Besoin d'aide sur UserForm

Re, merci fhoest ça fonctionne, mais si je fais des modifications les évènements ne sont pas toujours rétablits, comprends pas. Par esthétisme, est-ce que tu penses que l'on puisse mettre une condition pour qu'un espace soit considéré et compte comme un caractère.
Merci de ton aide
@+
 

fhoest

XLDnaute Accro
Re : Besoin d'aide sur UserForm

Citation Envoyé par Arpette
mais si je fais des modifications les évènements ne sont pas toujours rétablits, comprends pas.
Je ne comprends ce que tu veux dire ,donne un exemple svp

Citation Envoyé par Arpette
Par esthétisme, est-ce que tu penses que l'on puisse mettre une condition pour qu'un espace soit considéré et compte comme un caractère.
idem exemple parce que le découpage se fait en fonction de l'espace a partir du 50 ème caractères "donc a voir ou? si c'est dans la base de donnée ,oui c'est assez simple
de plus on ne peux pas dire que tu ne dise pas merci,tu n'est pas obliger de me le dire a chaque fois :eek::eek:
 

Arpette

XLDnaute Impliqué
Re : Besoin d'aide sur UserForm

Merci, merci, merci....:), sélectionnes IP et supprimes "ossature métallique et" ça ne ne supprime pas la totalité de la dernière ligne.
Pour les évènements, je pense que si je fais une action dans une cellule autre que dans colonne, ça bloque les évènements: Ex fais supp dans cellule en A32 et essaies de modifier IM, ça ne répond plus.
@+
je te dis pas merci :):)

Cijoint.fr - Service gratuit de dépôt de fichiers
 

Arpette

XLDnaute Impliqué
Re : Besoin d'aide sur UserForm

Re, pour les évènements j'ai rajouté çà dans la feuille fournisseur apparement çà marche
@+
Code:
  End With
  Application.EnableEvents = True
End Sub
Sub retablit()
    Application.EnableEvents = True
End Sub
 

fhoest

XLDnaute Accro
Re : Besoin d'aide sur UserForm

Bonjour,
Pour le problème que tu évoque au #37, voici le ode a modifié
Code:
Sub scinder()
Dim chaine, cible, tous_les_textbox As String
Dim tb As MSForms.Control
Dim i, x, j As Integer
cible = ""
chaine = ""
 For j = 1 To 7
Controls("TextBox" & j).Text = ""
 Next j
        
tous_les_textbox = TextBox8.Text
cible = tous_les_textbox
For i = 1 To Len(cible)
x = InStr(50, cible, " ")
            
    If x = 0 Then
        chaine = cible
       
        Controls("TextBox" & i).Text = chaine
        Exit For
    
    End If
            
            chaine = Mid(cible, 1, x)
            Controls("TextBox" & i).Text = chaine
            cible = Mid(cible, Len(chaine) + 1)
Next
End Sub
il suffit de vider toutes les boites de texte avant de les remplir
Bon dimanche Mr merci lol!!
A+
 

Arpette

XLDnaute Impliqué
Re : Besoin d'aide sur UserForm

Salut Fred, çà ne fonctionne plus, la totalité des lignes ne sont pas vidées. Comme dans le post #37. Je ne sais pas ce que j'ai bricolé, j'ai juste rajouté ce bout de code dans la feuille "Fournisseurs". Cà fonctionne en mode pas à pas.
Code:
  If Not Intersect(Target, Range("B3:B65536")) Is Nothing Then
  If Target.Offset(0, -1).Value = "" And Target.Offset(0, 2).Value = "" Then
  Target.Offset(0, 3).Value = "0,00 €"
  End If
  End If

Cijoint.fr - Service gratuit de dépôt de fichiers

@+
 

fhoest

XLDnaute Accro
Re : Besoin d'aide sur UserForm

Bonsoir,
change le code du bouton de commande 1 "ok" du usf saisie comme suit:
Code:
 Private Sub CommandButton1_Click()
Dim i, j As Integer
Dim c As Range
For i = 1 To 7
If Controls("TextBox" & i) <> "" Then j = j + 1
Next
With Sheets("Fournisseurs")
drligne = .[A:A].Find(Selection(1, 0)).Row
For Each c In .Range("a2:a" & drligne)
If c Like ComboBox1.Text Then
For i = 0 To j - 1
If c = ComboBox1 And c.Offset(i, 0) = "" And c.Offset(i, 1) <> "" Then c.Offset(i, 1) = ""
If c.Offset(i, 0) <> "" And c.Offset(i, 0) <> ComboBox1.Text Then Rows(c.Offset(i, 0).Row & ":" & c.Offset(i, 0).Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
c.Offset(i, 1) = Controls("TextBox" & i + 1)
Next i
Exit For
End If
Next c
End With
Application.EnableEvents = True
End
End Sub
A+
 

Arpette

XLDnaute Impliqué
Re : Besoin d'aide sur UserForm

Re, tu vas dire que je suis pénible, çà fonctionne pour IP, mais pour IRP si tu supprimes "sur ossature métallique et plaque de plâtre" çà n'éfface pas la dernière ligne. Excuses moi mais je teste tous les cas de figure.
@+
Cijoint.fr - Service gratuit de dépôt de fichiers
 

fhoest

XLDnaute Accro
Re : Besoin d'aide sur UserForm

Bonsoir,
voici le code du bouton de commande "ok":
Code:
Private Sub CommandButton1_Click()
Dim i, j As Integer
Dim c As Range
For i = 1 To 7
If Controls("TextBox" & i) <> "" Then j = j + 1
Next
With Sheets("Fournisseurs")
drligne = .[A:A].Find(Selection(1, 0)).Row
For Each c In .Range("a2:a" & drligne)
If c Like ComboBox1.Text Then
For i = 0 To j - 1
If c = ComboBox1 And c.Offset(i, 0) = "" And c.Offset(i, 1) <> "" Then c.Offset(i, 1) = ""
If c.Offset(i, 0) <> "" And c.Offset(i, 0) <> ComboBox1.Text Then Rows(c.Offset(i, 0).Row & ":" & c.Offset(i, 0).Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
c.Offset(i, 1) = Controls("TextBox" & i + 1)
If c.Offset(i + 1, 0) = "" Then c.Offset(i + 1, 1) = ""
Next i
Exit For
End If
Next c
End With
Application.EnableEvents = True
End
End Sub
A tester,
A bientôt...
 

Discussions similaires

Statistiques des forums

Discussions
312 764
Messages
2 091 859
Membres
105 079
dernier inscrit
Biscot_399