Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il y
a une liste :
exemple :
colonne A : nom du film
colonne B : genre
colonne C : durée
colonne D : année
Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se
remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer à
l'aide d'une macro automatique (pas de liste déroulante, de userform ...,
seulement lorsque le contenu de la cellule change).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Voici un exemple à adapter, code à placer dans la feuille Résultats Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement With Worksheets("BDD").Range("LesDonnees") 'plage nommée Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 'ici trois renseignements à récupérer Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else: MsgBox "pas de correspondance" End If End With Set Atrouver = Nothing End Sub
Cordialement Pascal
"aife1" a écrit dans le message de news:
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il y
a une liste :
exemple : colonne A : nom du film colonne B : genre colonne C : durée colonne D : année Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer à l'aide d'une macro automatique (pas de liste déroulante, de userform ..., seulement lorsque le contenu de la cellule change).
Pouvez-vous m'aider ?
Merci d'avance
Bonjour
Voici un exemple à adapter, code à placer dans la feuille Résultats
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement
With Worksheets("BDD").Range("LesDonnees") 'plage nommée
Dim Atrouver
Set Atrouver = .Find(Target)
If Not Atrouver Is Nothing Then
For i = 1 To 3 'ici trois renseignements à récupérer
Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value
Next i
Else: MsgBox "pas de correspondance"
End If
End With
Set Atrouver = Nothing
End Sub
Cordialement
Pascal
"aife1" <aife1@wanadoo.fr> a écrit dans le message de
news:O7iy3z7eEHA.3612@TK2MSFTNGP12.phx.gbl...
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il
y
a une liste :
exemple :
colonne A : nom du film
colonne B : genre
colonne C : durée
colonne D : année
Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans
la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se
remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer à
l'aide d'une macro automatique (pas de liste déroulante, de userform ...,
seulement lorsque le contenu de la cellule change).
Bonjour Voici un exemple à adapter, code à placer dans la feuille Résultats Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement With Worksheets("BDD").Range("LesDonnees") 'plage nommée Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 'ici trois renseignements à récupérer Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else: MsgBox "pas de correspondance" End If End With Set Atrouver = Nothing End Sub
Cordialement Pascal
"aife1" a écrit dans le message de news:
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il y
a une liste :
exemple : colonne A : nom du film colonne B : genre colonne C : durée colonne D : année Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer à l'aide d'une macro automatique (pas de liste déroulante, de userform ..., seulement lorsque le contenu de la cellule change).
Pouvez-vous m'aider ?
Merci d'avance
papou
En complément, modifie comme ceci pour le cas de non correspondance si tu veux effacer le contenu saisi : If Target.Column <> 1 Then Exit Sub With Worksheets("BDD").Range("LesDonnees") Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else MsgBox "pas de correspondance" Application.EnableEvents = False Target.ClearContents Application.EnableEvents = True End If End With Set Atrouver = Nothing
Cordialement Pascal
"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de news:
Bonjour Voici un exemple à adapter, code à placer dans la feuille Résultats Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement With Worksheets("BDD").Range("LesDonnees") 'plage nommée Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 'ici trois renseignements à récupérer Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else: MsgBox "pas de correspondance" End If End With Set Atrouver = Nothing End Sub
Cordialement Pascal
"aife1" a écrit dans le message de news:
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il
y
a une liste :
exemple : colonne A : nom du film colonne B : genre colonne C : durée colonne D : année Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans
la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer à
l'aide d'une macro automatique (pas de liste déroulante, de userform ...,
seulement lorsque le contenu de la cellule change).
Pouvez-vous m'aider ?
Merci d'avance
En complément, modifie comme ceci pour le cas de non correspondance si tu
veux effacer le contenu saisi :
If Target.Column <> 1 Then Exit Sub
With Worksheets("BDD").Range("LesDonnees")
Dim Atrouver
Set Atrouver = .Find(Target)
If Not Atrouver Is Nothing Then
For i = 1 To 3
Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value
Next i
Else
MsgBox "pas de correspondance"
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End With
Set Atrouver = Nothing
Cordialement
Pascal
"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:ebXrj87eEHA.3148@TK2MSFTNGP10.phx.gbl...
Bonjour
Voici un exemple à adapter, code à placer dans la feuille Résultats
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement
With Worksheets("BDD").Range("LesDonnees") 'plage nommée
Dim Atrouver
Set Atrouver = .Find(Target)
If Not Atrouver Is Nothing Then
For i = 1 To 3 'ici trois renseignements à récupérer
Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value
Next i
Else: MsgBox "pas de correspondance"
End If
End With
Set Atrouver = Nothing
End Sub
Cordialement
Pascal
"aife1" <aife1@wanadoo.fr> a écrit dans le message de
news:O7iy3z7eEHA.3612@TK2MSFTNGP12.phx.gbl...
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD,
il
y
a une liste :
exemple :
colonne A : nom du film
colonne B : genre
colonne C : durée
colonne D : année
Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve
dans
la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se
remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer
à
l'aide d'une macro automatique (pas de liste déroulante, de userform
...,
seulement lorsque le contenu de la cellule change).
En complément, modifie comme ceci pour le cas de non correspondance si tu veux effacer le contenu saisi : If Target.Column <> 1 Then Exit Sub With Worksheets("BDD").Range("LesDonnees") Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else MsgBox "pas de correspondance" Application.EnableEvents = False Target.ClearContents Application.EnableEvents = True End If End With Set Atrouver = Nothing
Cordialement Pascal
"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de news:
Bonjour Voici un exemple à adapter, code à placer dans la feuille Résultats Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement With Worksheets("BDD").Range("LesDonnees") 'plage nommée Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 'ici trois renseignements à récupérer Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else: MsgBox "pas de correspondance" End If End With Set Atrouver = Nothing End Sub
Cordialement Pascal
"aife1" a écrit dans le message de news:
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il
y
a une liste :
exemple : colonne A : nom du film colonne B : genre colonne C : durée colonne D : année Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans
la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer à
l'aide d'une macro automatique (pas de liste déroulante, de userform ...,
seulement lorsque le contenu de la cellule change).
Pouvez-vous m'aider ?
Merci d'avance
aife1
Salut Papou !
Tout d'abord, je tiens à te remercier pour tes précieux conseils.
Encore une petite question, comment je fais afin que le texte ait le même format que dans la base de données (bordure, gras, soulignement, etc. ) étant donné que dans la base de données, dans une cellule, il peut y avoir du texte en gras, du texte souligné et du texte sans mise en forme particulière.
Merci d'avance ...
"papou" <cestpasbonprobin@çanonpluscg44_fr> a écrit dans le message de news:%
En complément, modifie comme ceci pour le cas de non correspondance si tu veux effacer le contenu saisi : If Target.Column <> 1 Then Exit Sub With Worksheets("BDD").Range("LesDonnees") Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else MsgBox "pas de correspondance" Application.EnableEvents = False Target.ClearContents Application.EnableEvents = True End If End With Set Atrouver = Nothing
Cordialement Pascal
"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de news:
Bonjour Voici un exemple à adapter, code à placer dans la feuille Résultats Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement With Worksheets("BDD").Range("LesDonnees") 'plage nommée Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 'ici trois renseignements à récupérer Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else: MsgBox "pas de correspondance" End If End With Set Atrouver = Nothing End Sub
Cordialement Pascal
"aife1" a écrit dans le message de news:
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il
y
a une liste :
exemple : colonne A : nom du film colonne B : genre colonne C : durée colonne D : année Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans
la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer
à
l'aide d'une macro automatique (pas de liste déroulante, de userform ...,
seulement lorsque le contenu de la cellule change).
Pouvez-vous m'aider ?
Merci d'avance
Salut Papou !
Tout d'abord, je tiens à te remercier pour tes précieux conseils.
Encore une petite question, comment je fais afin que le texte ait le même
format que dans la base de données (bordure, gras, soulignement, etc. )
étant donné que dans la base de données, dans une cellule, il peut y avoir
du texte en gras, du texte souligné et du texte sans mise en forme
particulière.
Merci d'avance ...
"papou" <cestpasbonprobin@çanonpluscg44_fr> a écrit dans le message de
news:%23wBBZC8eEHA.1644@tk2msftngp13.phx.gbl...
En complément, modifie comme ceci pour le cas de non correspondance si tu
veux effacer le contenu saisi :
If Target.Column <> 1 Then Exit Sub
With Worksheets("BDD").Range("LesDonnees")
Dim Atrouver
Set Atrouver = .Find(Target)
If Not Atrouver Is Nothing Then
For i = 1 To 3
Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value
Next i
Else
MsgBox "pas de correspondance"
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End With
Set Atrouver = Nothing
Cordialement
Pascal
"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de
news:ebXrj87eEHA.3148@TK2MSFTNGP10.phx.gbl...
Bonjour
Voici un exemple à adapter, code à placer dans la feuille Résultats
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement
With Worksheets("BDD").Range("LesDonnees") 'plage nommée
Dim Atrouver
Set Atrouver = .Find(Target)
If Not Atrouver Is Nothing Then
For i = 1 To 3 'ici trois renseignements à récupérer
Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value
Next i
Else: MsgBox "pas de correspondance"
End If
End With
Set Atrouver = Nothing
End Sub
Cordialement
Pascal
"aife1" <aife1@wanadoo.fr> a écrit dans le message de
news:O7iy3z7eEHA.3612@TK2MSFTNGP12.phx.gbl...
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD,
il
y
a une liste :
exemple :
colonne A : nom du film
colonne B : genre
colonne C : durée
colonne D : année
Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve
dans
la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se
remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais
l'effectuer
à
l'aide d'une macro automatique (pas de liste déroulante, de userform
...,
seulement lorsque le contenu de la cellule change).
Tout d'abord, je tiens à te remercier pour tes précieux conseils.
Encore une petite question, comment je fais afin que le texte ait le même format que dans la base de données (bordure, gras, soulignement, etc. ) étant donné que dans la base de données, dans une cellule, il peut y avoir du texte en gras, du texte souligné et du texte sans mise en forme particulière.
Merci d'avance ...
"papou" <cestpasbonprobin@çanonpluscg44_fr> a écrit dans le message de news:%
En complément, modifie comme ceci pour le cas de non correspondance si tu veux effacer le contenu saisi : If Target.Column <> 1 Then Exit Sub With Worksheets("BDD").Range("LesDonnees") Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else MsgBox "pas de correspondance" Application.EnableEvents = False Target.ClearContents Application.EnableEvents = True End If End With Set Atrouver = Nothing
Cordialement Pascal
"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de news:
Bonjour Voici un exemple à adapter, code à placer dans la feuille Résultats Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub 'action sur colonne 1 uniquement With Worksheets("BDD").Range("LesDonnees") 'plage nommée Dim Atrouver Set Atrouver = .Find(Target) If Not Atrouver Is Nothing Then For i = 1 To 3 'ici trois renseignements à récupérer Target.Offset(0, i).Value = Atrouver.Offset(0, i).Value Next i Else: MsgBox "pas de correspondance" End If End With Set Atrouver = Nothing End Sub
Cordialement Pascal
"aife1" a écrit dans le message de news:
Bonjour !
Je sais que cette question a déjà été posée mais je n'y arrive pas.
Dans un classeur, j'ai deux feuilles ("BdD" et "Résultats"). Dans BdD, il
y
a une liste :
exemple : colonne A : nom du film colonne B : genre colonne C : durée colonne D : année Colonne E : acteurs
Si dans la feuille Résultats, je tape le nom d'un film qui se trouve dans
la
colonne A de la feuille BdD, je voudrais que les cellules de B à E se remplissent automatiquement.
J'arrive à le faire à l'aide d'une formule, mais je voudrais l'effectuer
à
l'aide d'une macro automatique (pas de liste déroulante, de userform ...,
seulement lorsque le contenu de la cellule change).