Selection nom et transfert plage dans pluieurs Testbox

Bonjour,

pour mon job, on me demande réaliser un utilitaire afin de suivre les interventions techniques dans un hôtel afin d'en évaluer le coût.

J'ai trouvé sur le web un code permettant de sélectionner une ligne dans une feuille et d'en afficher les cellules dans différents TextBox ou ComboBox.

Ce bout de code permet de faire des modifications dans la ligne sans intervenir sur la feuille elle même.

Cela pourrait me convenir sauf que je souhaite "appeler la ligne en sélectionnant un nom ou un Numéro dans une colonne.

Je vous remercie de votre aide pour mieux comprendre la manœuvre

Philippe.

Bonjour

PFRANCO a écrit :

je souhaite "appeler la ligne en sélectionnant un nom ou un Numéro dans une colonne

C'est bien ce que tu fais en double cliquant sur une cellule

Oui c'est chouette, même si ce n'est pas de moi.

De ton côté tu aurais une piste pour parvenir à mon objectif ?

Philippe

Bonjour

PFRANCO a écrit :

De ton côté tu aurais une piste pour parvenir à mon objectif ?

Ton objectif est atteint, que faut-il de plus ?

Acceptes mes plates excuses. Déjà à l'école, on me disait de bien lire l'énoncé du problème.

En fait j'ai omis de te dire que je souhaitais sélectionner un nom dans ma feuille Excel grâce à un combobox (recherche) situé dans un UF. Un fois sélectionné ce nom cela rempli les autres texbox correspondant aux différentes cellules (comme dans le fichier joint), je peux modifier les éléments et enregistrer le tout dans la même ligne.

Je ne sais pas si je suis clair...

Merci pour ta remarque, c'est un peu l'heure de la sieste..

Philippe

Bonjour

Pour faciliter la recherche il faut "travailler" avec des données uniques, j'ai pris la colonne 1 pour ça

A tester

Re-Banzai64,

Merci j'ai repéré le code. Par contre une petit bug.

Ca bloque là ou c'est jaune. Dés que l'on active le bouton MODIFIER.J'ai essayé de comprendre mais non ca veut pas.

Je te remercie.

Philippe.

Private Sub CommandButton1_Click()

' Transfert des renseignements modifiés dans la feuille

With Sheets("Feuil1")

For I = 1 To 10 ' boucle sur les contrôles

If I = 2 Or I = 4 Or I = 5 Or I = 6 Or I = 8 Or I = 10 Then

.Cells(Lig, I) = Me.Controls("TextBox" & I).Value

ElseIf I = 1 Or I = 3 Or I = 7 Or I = 9 Then

.Cells(Lig, I) = Me.Controls("comboBox" & I).Value End If

Next I

End With

Unload modif

End Sub

Bonjour

Désolé je n'avais pas vu que tu avais déclaré en public la variable Lig

Dans la macro Private Sub ComboBox1_Change() supprimes les 2 déclarations

Private Sub ComboBox1_Change()

  If Me.ComboBox1.ListIndex = -1 Then Exit Sub
  With Sheets("Feuil1")
    Lig = Me.ComboBox1.ListIndex + 2
' .
' .
'.

Bonsoir Banzai64,

Je te remercie pour ton aide précieuse. Cela fonctionne parfaitement et il ne me reste qu'à adapter ce code en le personnalisant pour mon application.

Je vais ensuite décrypter pas à pas pour comprendre, sinon ca sert à rien.

Je reviendrais vers toi pour te tenir informé et te demander des précisions. Merci d'avance.

Bonne soirée à toi ainsi qu'à tous les participants. Je trouve ce forum bien présenté et très accessible.

Philippe.

Bonsoir Banzai64,

Comme promis, je reviens vers toi pour te remercier mais pour aussi essayer de comprendre. Le code que tu as réalisé fonctionne bien. Seulement, j'ai voulu recommencer sur un autre outil en reprenant de travail et ca ne fonctionne pas.

Je joins un fichier.

En l'ouvrant, on arrive directement sur l'onglet modification. L'initialisation ne se fait pas et l'enregistrement non plus.

Ma demande est simple. Comme je travaille le VBA en trouvant moi même mais souvent en adaptant des codes, pourrais-tu m'expliquer le déroulement du code, en tout cas, ce qui ne va pas et pourquoi.

Ce n'est pas un exigence de ma part mais j'ai vraiment envie de comprendre mes erreurs.

Je te laisse regarder et je te remercie pour ton coup de main.

Philippe.

16suivi-actions.xlsm (78.11 Ko)

Bonsoir

Demande simple mais mal expliquée

Que veux tu exactement ?

PFRANCO a écrit :

L'initialisation ne se fait pas et l'enregistrement non plus.

L'initialisation de quoi ?

L'enregistrement fonctionne pour la saisie action

Pour l'enregistrement lors des modifications il faut savoir sur quelle donnée unique tu veux faire ta modification

Dans un message précédent je t'ai indiqué qu'il fallait "travailler" avec des données uniques

Ta variable Lig n'est ni déclarée ni initialisée

Tu as un Unload Modif(?????)

Numérotes tes TextBox dans l'ordre cela évitera de faire une boucle qui n'a rien à voir

Cela pourrait donner par exemple

Sub Test()
  With Sheets("Feuil1")
    For i = 1 To 4    ' boucle sur les TextBox
      .Cells(Lig, i + 1) = Me.Controls("TextBox" & i)
    Next i
    .Cells(Lig, i) = Me.ComboBox1
  End With
End Sub

Attention ce n'est qu'un exemple

Détailles les actions à faire pour arriver à l'erreur

A suivre

Rechercher des sujets similaires à "selection nom transfert plage pluieurs testbox"