Probleme VBA modifier formulaire

Bjr

Je rencontre un problème lorsque j'essaie de modifier une ligne de mon formulaire.

Elle ne l'est pas , et une nouvelle ligne est ajoutée

Ci joint le fichier

cdt

T

Bonjour,

Dans ton module Modifier

Au lieu de :

no_ligne = ComboBox3.ListIndex + 2

Met plutot :

no_ligne = ComboBox3.ListIndex + 3

ça devrait fonctionner correctement!

Yann

Bjr

Merci mais ça ne change rien, la ligne sélectionnée n'est toujours pas modifiée.

Bonjour à tous

Un essai à tester. Te convient-il ?

Bye !

Bjr

Merci mais,

je viens d'essayer et rien n'a changé, la ligne que je désire modifier ne l'est pas et la modification se fait sur la ligne 1 ??

Bonjour,

Il m'a l'air complexe ce problème.

Si j'ai bien compris ton cas d'utilisation:

  • On entre un nom,
  • On appuie sur rechercher, ton formulaire se rempli avec les info de la ligne.
  • On modifie une valeur (jour, mois), et on appuie sur modifier.
  • Dans le tableau, la ligne correspondant au prénom est mise a jour en fonction des infos saisies.

Dans ce cas la modification que je t'ai donné fonctionne. La bonne ligne est modifie, et il n'y a pas d'ajout de ligne.

Si le cas n'est pas celui - ci, je pense que je comprend mal ce que tu veux faire!

Cordialement,

Yann

Re Bonjour

C'est tout à fait ça

Alors, je n'y comprend vraiment plus rien ...

Car pour ma part quand je fais cette opération, ma ligne n'est pas modifiée. Seule la deuxième ligne du tableau est toujours modifiée et quel que soit le nom rentré

J'utilise excel 2011 sous mac mais jeune pense pas que ça puisse venir de cela ??

Tacentaure a écrit :

je viens d'essayer et rien n'a changé

C'est curieux, sur mon PC tout a l'air de bien se passer.

Après choix de Pierre et click sut RECHERCHE :

capture 1

Après modification de mois et click sur MODIFIER

capture 2

Re Bjr

Je viens de faire un essai avec le fichier reçu à 14h58

Si je sélectionne PIERRE j'ai JUILLET et JEUDI

Si je modifie de la manière suivante en : AVRIL et LUNDI à la place de JUILLET et JEUDI

sur la ligne PIERRE, JUILLET et JEUDI .......rien ne change

sur la première ligne du tableau c'est a dire en A1 j'ai LUNDI, en B1 AVRIL et C 1 NOM

A ne rien n'y comprendre...

Avais tu apporté des modifications dans les codes sur mon fichier original envoyé ??

J'essaie de comprendre .....

Quand je mets +2 dans le code du bouton "modifier" à ComboBox3.List, cela me modifie la ligne 1 du tableau

+3 la ligne 2 du tableau

+4 la ligne 3 du tableau

et ainsi de suite, mais jamais la bonne ligne avec le bon nom.

Donc je n'ai pas un ajout de ligne mais une modification qui s'effectue toujours sur la même ligne en fonction du (+1,+2 ou +3) au lieu de se faire avec le nom sélectionné.

Mais alors pourquoi ??

En fait je viens de trouver

Le problème vient de code de l'alimentation de la ComboBox Nom ( peut être à cause du excel pour mac )

J'ai essayé avec la méthode Additem et ça fonctionne

J'ai mis ce code ( ci dessous) qui fonctionne sur la ligne, c'est à dire que la recherche débute ligne 1, colonne 5 puis continue en Colonne 6 ligne 1 jusqu'à ce qu'il n'y ait plus de valeur.

J'aimerais faire la même chose en colonne, c'est à dire commencer ligne x de la colonne Y , puis ligne x+1 de la colonne Y jusqu'a trouver une cellule vide ...

Mais je n'arrive pas à l'écrire correctement

Code pour ligne

Private Sub UserForm_Initialize()

Dim Col As Integer

Col = 5

Do While Cells(1, Col).Value <> ""

UserForm1.ComboBox1.AddItem Cells(1, Col).Value

Col = Col + 1

Loop

Code pour colonne

BONJOUR

Ses pas très propre tout ca

voir déjà les combobox

Private Sub UserForm_Initialize()
ComboBox1.List = Array("LUNDI", "MARDI", "MERCREDI", "JEUDI", "VENDREDI", "SAMEDI", "DIMANCHE")
ComboBox2.List = Array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOÛT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DÉCEMBRE")
With Sheets("Feuil1")
   ComboBox3.List = .Range("C3:C" & .Range("C" & Rows.Count).End(xlUp).Row).Value
End With
End Sub

et moi je mettrais la colonne nom en premier

A+

Maurice

Bjr

Merci pour l'aide

En fait c'est l'alimentation de la combobox avec le code

ComboBox3.List = .Range("C3:C" & .Range("C" & Rows.Count).End(xlUp).Row).Value

qui apparemment me pose des problèmes avec le mac

Peut on alimenter la combo box d'une colonne de "noms" avec Array ?

Je l'alimente à présent avec la fonction additem et ça fonctionne.

Seulement je dois l'adapter à ma colonne "non" de mon tableau mais elle ne fonctionne pas

Dim No_ligne As Integer

No_ligne = 3

Do While Cells(No_ligne, Col3).Value <> ""

UserForm1.ComboBox3.AddItem Cells(No_ligne, Col3).Value

No_ligne = No_ligne + 1

Loop

Cdt

bonjour

désoler jais pas de mac aller bon courage

A+

Maurice

Rechercher des sujets similaires à "probleme vba modifier formulaire"