XL 2016 mise a jour de tableau avec des textbox

auverland

XLDnaute Occasionnel
Bonjour,
Je ne comprend pas mon ereur de code...
Lorsque j'arrive dans cette boucle il vas bien me completer ma première cellule en colonne 58 mais pas les suivante (59 et 60) .
Si je desactive la ligne "Cells(y, 58) = Me.Txt_Couple... " il complete la cellule en 59 mais pas les suivantes

Je voulais me servir de cette boucle pour mettre a jour un tableau avec des Textbox d'un formulaire

Merci de votre aide

Private Sub Cmd_Modif_Click()
Dim y As Byte
Sheets("Gamme").Activate
For y = 2 To Range("F:F").End(xlDown).Row
If Txt_NumBV.Text = Cells(y, 6) Then
Cells(y, 58) = Me.Txt_Couple_1.Value
Cells(y, 59) = Me.Txt_Reg_1.Value
Cells(y, 60) = Txt_Tps_1.Value
End If
Next y

End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum, auverland

@auverland
Une autre syntaxe possible
VB:
Private Sub Cmd_Modif_Click()
Dim y As Long
For y = 2 To Sheets("Gamme").Cells(Rows.Count, 6).End(xlUp).Row
If Txt_NumBV.Text = Cells(y, 6) Then
Cells(y, 58).Resize(, 3) = Array(Txt_Couple_1, Txt_Reg_1, Txt_Tps_1)
End If
Next y
End Sub
 

job75

XLDnaute Barbatruc
Bonsoir auverland, Kael_88, JM,

Sans boucle c'est sans doute plus rapide :
Code:
Private Sub Cmd_Modif_Click()
Application.ScreenUpdating = False
On Error Resume Next
With Sheets("Gamme")
    If .[A1].Formula = "" Then .[A1] = " "
    With .UsedRange
        .AutoFilter 6, Txt_NumBV 'filtre automatique
        With .Offset(1).Resize(.Rows.Count - 1)
            .Columns(58).SpecialCells(xlCellTypeVisible) = Txt_Couple_1.Value
            .Columns(59).SpecialCells(xlCellTypeVisible) = Txt_Reg_1.Value
            .Columns(60).SpecialCells(xlCellTypeVisible) = Txt_Tps_1.Value
        End With
    End With
    .AutoFilterMode = False
End With
End Sub
Bonne nuit.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 124
Membres
103 126
dernier inscrit
Vuagno27