Modifier la valeur d'une cellule dans un tableau variable

maud.33500

XLDnaute Nouveau
Bonjour le forum,

J'aurais besoin d'un couop de main sur une ligne de code qui m'embête un peu, faut bien l'avouer. Je souhaiterais remplacer le contenu de la cellule qui répond aux différents critères. Ma recherche trouve la cellule sans problème mais impossible de modifier la valeur.

Je ne peux pas vous joindre le fichier mais voici le morceau code concerné:

Code:
'Recherche la ligne de la BDD Défauts correspondante
       If CDate(CStr(tablo(i, 1))) = CDate(TextBox1) And CStr(tablo(i, 2)) = ComboBox1 And ComboBox4 = CStr(tablo(i, 3)) And ComboBox5 = CStr(tablo(i, 6)) And ComboBox6 = CStr(tablo(i, 7)) Then

 'Modifie la ligne de la BDD
        tablo(i, 4) = TextBox8.Value ' c'est ici que je ne sais pas trop comment taper ma ligne de code       
                              
        End If
    Next i

Merci d'avance pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : Modifier la valeur d'une cellule dans un tableau variable

Bonjour,

Je souhaiterais remplacer le contenu de la cellule qui répond aux différents critères. Ma recherche trouve la cellule sans problème mais impossible de modifier la valeur.

vois pas de cellule dans le bout de code qui te pose problème...
Code:
tablo(i, 4) = TextBox8.Value ' c'est ici que je ne sais pas trop comment taper ma ligne de code
ma boule de cristal vois pltôt un tableau virtuel....

bon après midi
@+
 

job75

XLDnaute Barbatruc
Re : Modifier la valeur d'une cellule dans un tableau variable

Bonjour maud.33500, salut Pierrot,

Si l'on veut à chaque fois modifier la cellule, il faut savoir (et nous dire) à partir de quelle plage de cellules la variable tablo a été créée.

Sinon a priori le code va bien, il suffira à la fin d'écrire plage = tablo

A+
 

maud.33500

XLDnaute Nouveau
Re : Modifier la valeur d'une cellule dans un tableau variable

Bonjour Pierrot, Bonjour Job75,

A la lecture de vos réponses, je me dis que je me suis peut être mal exprimée... Donc je la refais:

Quand je modifie une ligne, je souhaite que la valeur qui se trouve dans la Textbox8 remplace la valeur qui se trouve dans tablo(i, 4) .

Voici le code entier, ce sera peut être plus clair (j'espère)
Code:
' Enregistrer la modification du défaut

Private Sub CommandButton38_Click()

'Déclare la variable i
    Dim i As Integer
   
 'Définit la variable Tablo (=> Emplacement des Données source pour l'incrémentation de la ListBox)
    With Sheets("DEFAUTS")
        Derlig = .Range("A65536").End(xlUp).Row
        tablo = .Range("A3:G" & Derlig)
    End With
         
 'Boucle toutes les lignes du tableau
    For i = 1 To UBound(tablo)

 'Recherche la ligne de la BDD Défauts correspondante
       If CDate(CStr(tablo(i, 1))) = CDate(TextBox1) And CStr(tablo(i, 2)) = ComboBox1 And ComboBox4 = CStr(tablo(i, 3)) And ComboBox5 = CStr(tablo(i, 6)) And ComboBox6 = CStr(tablo(i, 7)) Then

 'Modifie la ligne de la BDD
                        tablo(i, 4) = TextBox8.Value ' Nouvelle durée                       
        End If
    Next i
End Sub

Merci d'avance
 

job75

XLDnaute Barbatruc
Re : Modifier la valeur d'une cellule dans un tableau variable

Re,

1) Si TextBox8 doit être une durée au format hh:mm il est mieux de le tester au début par :

Code:
If Not Textbox8 Like "##:##" Then Textbox8 = "": Textbox8.SetFocus: Exit Sub
2) Ensuite dans la boucle le code ira bien :

Code:
tablo(i, 4) = TextBox8 ' Nouvelle durée
3) Et bien sûr en fin de macro, si l'on veut modifier la plage :

Code:
Sheets("DEFAUTS").Range("A3:G" & Derlig) = tablo
A+
 

maud.33500

XLDnaute Nouveau
Re : Modifier la valeur d'une cellule dans un tableau variable

Bonjour Job75,

Ma durée n'est pas au format hh:mm c'est juste un chiffre en minute qui est saisie (ex: 10 , 30,....).

Lorsque je place un espion sur la ligne suivante, la valeur retournée est Faux...
Code:
tablo(i, 4) = TextBox8 ' Nouvelle durée

Voici le fichier simplifié, ce sera peut être plus facile.... ^^

Merci d'avance
 

Pièces jointes

  • Essai modif.xlsm
    140.6 KB · Affichages: 48
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel