L'oeil des experts

JONEY76

XLDnaute Occasionnel
Bonjour,

J'ai un problème de code, c'est surtout que je souhaiterai comprendre

Code:
'#################################################
'MODIFIER LE TABLEAU A PARTIR DES TEXTBOX  bouton valider les modifications
'#################################################
'
Private Sub CommandButton2_Click()

'Déclarer les variables
Dim ligne As Long
Dim i As Long
Dim idx As Long

On Error Resume Next

With Sheets("BD1") 'feuille contenant les données

    For i = 1 To 44 'besoin d'infos sur le 44, nombre de textbox??
        .Cells(ligne, i) = Controls("Textbox" & i + 2) '
    Next
    
End With


With LSVB 'avec la listview

    .ListItems.Item(idx) = TB2 'l'index = la valeur dans la textbox TB2
    
    For i = 1 To 41
        .ListItems(idx).SubItems(i) = Controls("TextBox" & i + 2)
    Next
      
End With

End Sub


Dans un userform, j'ai une listview de plus de 40 colonnes et quand je clique une ligne, les données apparaissent dans les textbox, jusqu'ici tout fonctionne

Là où ça bloque, c'est quand j'appuie sur le bouton modifier les données, ca beugg, mais je ne comprends pas ...

Fichier non disponible mais reste du code dispo au cas ou

Merci d'avance !!
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    46.6 KB · Affichages: 114
  • Sans titre.jpg
    Sans titre.jpg
    46.6 KB · Affichages: 120
  • Sans titre.jpg
    Sans titre.jpg
    46.6 KB · Affichages: 123
Dernière édition:

JONEY76

XLDnaute Occasionnel
Re : L'oeil des experts

Ca fonctionne en partie

Mais c'est pas encore au point

Le recherche fonctionne mais très mal après une modification de textbox
 

Pièces jointes

  • Classeur1.zip
    28 KB · Affichages: 54
  • Classeur1.zip
    28 KB · Affichages: 60
  • Classeur1.zip
    28 KB · Affichages: 61

Roland_M

XLDnaute Barbatruc
Re : L'oeil des experts

bonjour

ton > On Error Resume Next < ne te permet pas de voir les erreurs !
exemple tu as ceci
Dim DTPicker1 As Object
DTPicker1.Value = Sheets("bd1").Range("I4")

d'une tu n'as pas de DTPicker dans ton userf
ensuite il faut pas de Dim DTPicker1 As Object
et si tu en mets un il faudra voir > Sheets("bd1").Range("I4") < il n'y a rien pour ton DTPicker1

et tu vois rien à cause de On Error Resume Next qui passe out !!!!

quand on met un On Error Resume Next
on ajoute Err.Clear et on test la var Err aux endroits souhaités
on ne le met pas pour forcer le code sinon il ne faut pas t'étonner que ça ne fonctionne pas !

ENSUITE LES ERREURS :
la première ligne de données c’est 3 et pas 4 . . . . . . il faut rectifier ce qui suit
> I = 4 ' la 1ere ligne de données est à la ligne 4 du tableur . . . mettre = 3
> Set Plage = .Range("A4:A" & Range("A65000").End(xlUp).Row) . . . mettre Range("A3

le code avec CommandButton5 . . . ce button n’existe pas !?


Bon, soit, j’ai nettoyé le code et rectifié pour la première ligne à 3
Et j’ai renommé les buttons car CommandButton2 CommandButton3 n’est pas très explicite
Mais ButtonVisualiser … ButtonEnregistrer etc … ça parle tout de suite !

voir ce que ça donne à ce niveau !

il demeure un problème à resoudre celui du no de ligne qui est faux et celui de l'idx !?
ça plante ou c'est à côté !
exemple quand Ligne est = 1 alors que la première est au minimum à 3 !?
il faudrait mettre une constante du genre PremNoLigDansBase = 3
ainsi tu pourrais te servir de Ligne + PremNoLigDansBase - 1

et pour un débutant en mode apprentissage ça me semble un peu trop compliqué !
j'ai moi-même du mal à m'y retrouver ! chacun son organisation !
 

Pièces jointes

  • Copie de Classeur1.zip
    24.2 KB · Affichages: 43
  • Copie de Classeur1.zip
    24.2 KB · Affichages: 43
  • Copie de Classeur1.zip
    24.2 KB · Affichages: 43
Dernière édition:

JONEY76

XLDnaute Occasionnel
Re : L'oeil des experts

Salut,

Merci beaucoup pour tes explications, je vais allez tester tout ca de suite,

Je suis en mode apprentissage, mais j'ai tellement de points qui m'intéressent,
Des que je crée un fichier, je découvre une autre possibilité, souvent plus complexe mais mieux

C'est l'exemple même de ma listview

Avant je faisais un formulaire sur la feuille et j'ai découvert l'userform
Ensuite la listbox et j'ai découvert la listview

J'essai de tout noter, de bien déclarer mes variable, de créer des pavés pour s'y retrouver plus vite, j'ai pas tout les reflex
 
Dernière édition:

JONEY76

XLDnaute Occasionnel
Re : L'oeil des experts

J'espère qu'un jour, je pourrais coder comme toi, aujourd'hui je prend des notes !!

Pour le bouton valider, cela n'inscrit pas la nouvelle donnée
Rencontres tu ce problème aussi ??

Pour le DTpicker, je l'avais ajouté au départ, pour le coté conviviale mais après je n'aurais pas su le gérer (remplissage et mise à jour etc) . je l'ai retiré mais pas la partie de code

Pour le bouton supprimer, c'est la même chose (ajouté puis retiré)

Ajouter OPTION EXPLICIT est obligatoire ou pas (mes bouquins disent de la mettre mais bon, je me méfie des bouquins)
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : L'oeil des experts

OPTION EXPLICIT n'est pas obligatoire !
c'est juste pour éviter des erreurs, des fautes de frappe, dans les déclarations des variables et autres !
et si on oubli une déclaration le débogueur le signale ! ça c'est très bien !

on a chacun ses petites manies. personnellement je ne l'utilise jamais.
mais c'est peut être une mauvaise habitude !
certain te diront de le mettre ! surtout comme débutant c'est peu être préférable !
s'il y a des var non déclarées le débogueur te le signalera et tu n'auras qu'à les déclarer avec Dim ...
 

JONEY76

XLDnaute Occasionnel
Re : L'oeil des experts

J'ai rencontré le décalage de lignes lors de la validation, la donnée se met à jour mais elle supprime la valeur de la colonne A

Y a t-il une formule, une déclaration type à utiliser

je ne sais pas si ce type de code fait partie d'un standard...

Là je bloque...
 

Roland_M

XLDnaute Barbatruc
Re : L'oeil des experts

re

comme convenu dans le message (perso)
voir dernières modifications ! V2 !


EDIT
avec le bouton suppression de ligne
idem V2 mais en V3 ! donc le dernier !
 

Pièces jointes

  • Copie de jONEY v2 BASE ET LISTVIEW.zip
    39.2 KB · Affichages: 37
  • Copie de jONEY v3 BASE ET LISTVIEW.zip
    40.7 KB · Affichages: 34
  • Copie de jONEY v3 BASE ET LISTVIEW.zip
    40.7 KB · Affichages: 34
  • Copie de jONEY v3 BASE ET LISTVIEW.zip
    40.7 KB · Affichages: 36
Dernière édition:

JONEY76

XLDnaute Occasionnel
Re : L'oeil des experts

Salut,

Dès mon réveil, j'ai allumé le pc !! Excel quand tu nous tiens !!!

Je suis en train de lire le code

Un énorme merci pour le temps que tu m'as consacré !!

Excel est vraiment un outils puissant pour ceux qui savent vraiment l'exploiter !!!!:):)

L'ordre des textbox va surement changer, j'ai remis de l'ordre hier, mais je dois bien définir mon besoin

Merci beaucoup pour l'anticipation des 99 colonnes :)

Je teste tout ça dans le courant de l'aprèm et je tiens tiens au courant !!!!



J'ai aussi découvert en trainant par ci par là, que l'on pouvait mettre des couleurs, mais je verrai plus tard car j'aurai des dates et je voudrai mettre des conditions, mais c'est un autre problème !

Merci beaucoup !!!!!:)
 

Roland_M

XLDnaute Barbatruc
Re : L'oeil des experts

bonjour,
content que tu sois de retour car je viens de rectifier un petit oubli !

mais toujours le V3 !
 

Pièces jointes

  • Copie de jONEY v3 BASE ET LISTVIEW.zip
    41 KB · Affichages: 42
  • Copie de jONEY v3 BASE ET LISTVIEW.zip
    41 KB · Affichages: 39
  • Copie de jONEY v3 BASE ET LISTVIEW.zip
    41 KB · Affichages: 39
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 059
Membres
103 110
dernier inscrit
Privé