saisies semi-automatiques sur 2 colonnes

  • Initiateur de la discussion Initiateur de la discussion pol95
  • 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 !

P

pol95

Guest
bonjour,

j'ai une colonne B où j'ai des noms de laboratoire, j'ai une colonne D où j'ai les numéros clients, je voudrais quand je tape le nom d'un labo (déjà référencé) dans la colonne B que s'affiche automatiquement le numéro client correspondant dans la colonne D.

merci de votre aide
 
Re : saisies semi-automatiques sur 2 colonnes

Bonjour et Bonne année

Ci joint une macro évènementielle

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ad As String
Dim cel As Range
If Target.Value = "" Then Exit Sub
If Not Application.Intersect(Target, Range("b1:b65536")) Is Nothing Then
    If Sheets(ActiveSheet.Name).Range(Target.Address).Offset(0, 1) <> "" Then Exit Sub

    ad = ""

    Set cel = Sheets(ActiveSheet.Name).Range("b1:b" & (Target.Row - 1)).Find(Target.Value, LookIn:=xlValues, SearchOrder:=xlByRows, lookat:=xlWhole) ' on recherche ligne par ligne
    If Not cel Is Nothing Then
        ad = cel.Address
    Else
        Set cel = Sheets(ActiveSheet.Name).Range("b" & (Target.Row + 1) & ":b65536").Find(Target.Value, LookIn:=xlValues, SearchOrder:=xlByRows, lookat:=xlWhole)
        If Not cel Is Nothing Then ad = cel.Address
    End If
    If ad <> "" Then
        Target.Offset(0, 1) = Sheets(ActiveSheet.Name).Range(ad).Offset(0, 1)
    End If
End If
End Sub


A tester


JP
 
Re : saisies semi-automatiques sur 2 colonnes

Bonjour le fil, bonjour le forum,

pratiquement à l'identique de JP, je me permets de t'envoyer une autre macro événementielle :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim valeur As String 'déclare la variable valeur
Dim valad As String 'déclare la variable valad
Dim rech As Range 'déclare la variable rech
Dim num As Variant 'déclare la variable num
 
If Application.Intersect(Target, Columns(2)) Is Nothing Then Exit Sub 'si le changement n'a pas lieu dans la colonne B, sort de la procédure
If Target.Value = "" Then Target.Offset(0, 2).Value = "": Exit Sub 'si la cellule est effacéé, la cellule de la colonne D sera efacée aussi
valeur = Target.Value 'définit la variable valeur
valad = Target.Address 'définit la variable valad
 
With ActiveSheet.Range("B1:B" & Range("B65536").End(xlUp).Row) 'prend en compte les cellules éditée de la colonne B
    Set rech = .Find(valeur, , xlValues, xlWhole) 'définit la variable rech
    If Not rech Is Nothing And rech.Address <> valad Then 'condition : s'il il existe au moins une seconde occurance de valeur
        num = rech.Offset(0, 2).Value 'définit la variable num
        Target.Offset(0, 2).Value = num 'recopie la variable num
    End If 'fin de la condition
End With 'fin de la prise en compte des cellules éditées de la colonne B
 
End Sub
 
Re : saisies semi-automatiques sur 2 colonnes

c'est la première fois que j'utilise une macro, comment faire pour la rentrée, j'ai office 2002, je vais dans Microsoft Visual Basic, je rentre la fonction que vous avez donnée dans module1 puis comment l'activer ?
dans outils>macro>macros... je ne trouve pas ma macro "Worksheet_Change"

merci de m'aider
 
Re : saisies semi-automatiques sur 2 colonnes

Bonsoir à tous

il s'agit de macros événementielles, tu dois la placer dans le module de la feuille, pour faire cela => click droit sur le nom de l'onglet => visualiser le code et tu colles le code dans la fenêtre qui s'est ouverte.

Attention, tu ne peux avoir qu'une seule procédure gérant un même type d'événement pour une feuille donnée.

bonne soirée
@+
 
Re : saisies semi-automatiques sur 2 colonnes

Re

je viens de tester les 2 macros et chez moi cela fonctionne, il faudrait voir si tu ne recherches pas le résultat d'une formule....

Le fait d'utiliser la fonction "Find" dans vba, modifies les options de la fonctions recherche.

@+
 
- 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
4
Affichages
328
Réponses
3
Affichages
462
Réponses
26
Affichages
2 K
Retour