Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA : Importer ligne dans un userform

  • Initiateur de la discussion Initiateur de la discussion J0K0
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

J0K0

Guest
Bonsoir à tous,

Je vous expose mon soucis :

J'ai un tableau regroupant toutes les informations de gens ... Il m'arrive de temps en temps de modifier ces informations. Ces informations sont retransmises dans plusieurs feuilles concernant ces personnes.
J'ai créé un userform où je peux choisir la personne à modifier avec une combobox, jusqu'à pas de soucis.
J'ai copié l'userform pour ajouter une personne et ces infos pour le transformer en modification, cependant je n'arrive pas à importer les infos concernant la personne choisie dans cet userform ...

Le code actuel ne marche pas bien, si je choisi nom1, dans un premier temps rien ne s'affice, si je choisis ensuite nom2, j'ai ensuite nom1 qui s'affiche ... etc etc ...
LA galère ..

Le but final est en fait de choisir le nom à choisir, et d'importer toutes les infos le concernant ... Je ne sais pas comment faire ...

Merci de votre aide !
 
[RESOLU] : VBA : Importer ligne dans un userform

Pierrot, PRESIDENT DU MONDE !!!
J'te kiffe poupée !!! 😀

Nickel !!!!!!

Bon, là pour les actifs, ça marche super bien !!!!
Soit, je laisse comme ça, c'est à dire première version avec les feuilles connues qui marchent, et pour les feuilles spécifiques j'utilise la nouvelle version !

Tu m'as devancé dans les recherches, j'avais quelques chose pas pas comme ça ....

Le code pour les actifs :
Code:
Sub modifactif(grade, datee, adresse, cp, ville, telfixe, telpro, telport, mail, nom)
'modification de la feuille effectif_actifs
Sheets("effectif_actifs").Activate
With UserForm3.ComboBox1
    If .ListIndex <> -1 Then
        Cells(.ListIndex + 5, 3).Value = grade
        Cells(.ListIndex + 5, 4).Value = datee
        Cells(.ListIndex + 5, 5).Value = adresse
        Cells(.ListIndex + 5, 6).Value = cp
        Cells(.ListIndex + 5, 7).Value = ville
        Cells(.ListIndex + 5, 9).Value = telfixe
        Cells(.ListIndex + 5, 11).Value = telpro
        Cells(.ListIndex + 5, 10).Value = telport
        Cells(.ListIndex + 5, 12).Value = mail
    End If
End With

'modification de la feuille effectif_amicale
'For effami = 5 To 10000
'If Sheets("effectif_amicale").Cells(effami, 1).Value = ActiveSheet.Range("B5").Value Then GoTo er1
'Next effami

Sheets("effectif_amicale").Activate
With UserForm3.ComboBox1
    If .ListIndex <> -1 Then
        Cells(.ListIndex + 5, 3).Value = grade
        Cells(.ListIndex + 5, 4).Value = datee
        Cells(.ListIndex + 5, 5).Value = adresse
        Cells(.ListIndex + 5, 6).Value = cp
        Cells(.ListIndex + 5, 7).Value = ville
        Cells(.ListIndex + 5, 9).Value = telfixe
        Cells(.ListIndex + 5, 11).Value = telpro
        Cells(.ListIndex + 5, 10).Value = telport
    End If
End With

'modification de la feuille manifestation
Sheets("manifestation").Activate
With UserForm3.ComboBox1
    If .ListIndex <> -1 Then
        Cells(.ListIndex + 11, 3).Value = grade
        Cells(.ListIndex + 11, 5).Value = telfixe
        Cells(.ListIndex + 11, 6).Value = telpro
        Cells(.ListIndex + 11, 7).Value = telport
    End If
End With

'modification de la feuille emargements
Sheets("emargements").Activate
With UserForm3.ComboBox1
    If .ListIndex <> -1 Then
        Cells(.ListIndex + 6, 3).Value = grade
    End If
End With

'modification de la feuille emargements_amicale
Sheets("emargements_amicale").Activate
Dim x As Range
'recherche dans la colonne B de la feuille active
Set x = Columns(2).Find(UserForm3.ComboBox1.Value, , xlValues, xlWhole, , , False)
'si trouvé
If Not x Is Nothing Then
    x.Offset(0, 1).Value = grade ' renvoie dans cellule, décalage de 1 colonne à droite
'    x.Offset(0, 2).Value = "bbb" ' renvoie dans cellule, décalage de 2 colonnes à droite
End If

'With UserForm3.ComboBox1
'    If .ListIndex <> -1 Then
'        Cells(.ListIndex + 6, 3).Value = grade
'    End If
'End With

'modification de la feuille vacances
Sheets("vacances").Activate
With UserForm3.ComboBox1
    If .ListIndex <> -1 Then
        Cells(.ListIndex + 9, 3).Value = grade
    End If
End With

'modification de la feuille publipostage-actifs
Sheets("publipostage-actifs").Activate
Dim y As Range
'recherche dans la colonne A de la feuille active
Set y = Columns(1).Find(UserForm3.ComboBox1.Value, , xlValues, xlWhole, , , False)
'si trouvé
If Not y Is Nothing Then
    y.Offset(0, 1).Value = grade ' renvoie dans cellule, décalage de 1 colonne à droite
    y.Offset(0, 2).Value = datee ' renvoie dans cellule, décalage de 2 colonnes à droite
    y.Offset(0, 3).Value = adresse
    y.Offset(0, 4).Value = cp
    y.Offset(0, 5).Value = ville
End If

'With UserForm3.ComboBox1
'    If .ListIndex <> -1 Then
'        Cells(.ListIndex + 2, 2).Value = grade
'        Cells(.ListIndex + 2, 3).Value = datee
'        Cells(.ListIndex + 2, 4).Value = adresse
'        Cells(.ListIndex + 2, 5).Value = cp
'        Cells(.ListIndex + 2, 6).Value = ville
'    End If
'End With
End Sub

Du coup j'avais rapatrillé aussi la combobox1.value = nom (au cas où ...)

Maintenant ne reste plus qu'à faire pareil avec les vétérans (ce qui devrait aller vite), lancer les recalculs (macros déjà existantes) et je crois que le tour est joué !

Merci Pierrot pour ton aide qui m'était hyper importante !!!! Tu m'enlèves un arbre du pieds !!

Comme tu as pu le voir c'est un tableau spécial (pompiers), donc gérer ces derniers sur leurs infos changeantes me prend du temps quand ça arrive !

MERCI !!!!!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
879
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…