Récupérer la valeur d'une cellule
Résolu
nihadlahit
-
NLAH Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
NLAH Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis débutante en vba,je voudrais créer une macro qui effectue les fonctionnalités suivantes:
1- demander a l'utilisateur d'entrer une valeur
2- chercher cette valeur dans la feuille 3, dans la plage ---> B2:B100
4-récupérer par la suite la ligne de cette cellule dans une variable nommée "lig",puis enregistrer la valeur de la cellule cells("lig"$ C) dans une variable "val"
3-retourner vers la feuille 1 et copier la plage --- > A1:D3,puis la coller dans la plage -->A1:D3 de la feuille2
4- chercher maintenant la valeur saisie dans la ligne 1 de la feuille 2
5-récupérer la colonne de cette cellule dans une variable "col"
6-sélectionner la cellule (ligne n° 3 de la feuille2 $ "col") puis enregistrer dans cette cellule la variable "val"
j'ai essayée le code suivant, mais il me donne toujours des erreurs lors de la compilation :
Dim x As Integer, celfind As Range, lig As Integer, col As Integer, m As Range
With Worksheets("Feuil3").Range("B1:B100")
x = InputBox("saisir le numéro de la commande")
Set celfind = .Find(x)
lig = celfind.Row
With Worksheets("feuil1").Range("A1:D3")
Selection.Copy
Worksheets("feuil2").Range("A1:D3").Select
ActiveSheet.Paste
End With
Set m = Worksheets("feuil2").Rows("1").Find(celfind)
col = m.Column
Worksheets("feuil2").Range("3 & col").Value = Worksheets("feuil3").Range("lig & C").Value
End With
prière de m'aider s'il veut plait,
Merci
je suis débutante en vba,je voudrais créer une macro qui effectue les fonctionnalités suivantes:
1- demander a l'utilisateur d'entrer une valeur
2- chercher cette valeur dans la feuille 3, dans la plage ---> B2:B100
4-récupérer par la suite la ligne de cette cellule dans une variable nommée "lig",puis enregistrer la valeur de la cellule cells("lig"$ C) dans une variable "val"
3-retourner vers la feuille 1 et copier la plage --- > A1:D3,puis la coller dans la plage -->A1:D3 de la feuille2
4- chercher maintenant la valeur saisie dans la ligne 1 de la feuille 2
5-récupérer la colonne de cette cellule dans une variable "col"
6-sélectionner la cellule (ligne n° 3 de la feuille2 $ "col") puis enregistrer dans cette cellule la variable "val"
j'ai essayée le code suivant, mais il me donne toujours des erreurs lors de la compilation :
Dim x As Integer, celfind As Range, lig As Integer, col As Integer, m As Range
With Worksheets("Feuil3").Range("B1:B100")
x = InputBox("saisir le numéro de la commande")
Set celfind = .Find(x)
lig = celfind.Row
With Worksheets("feuil1").Range("A1:D3")
Selection.Copy
Worksheets("feuil2").Range("A1:D3").Select
ActiveSheet.Paste
End With
Set m = Worksheets("feuil2").Rows("1").Find(celfind)
col = m.Column
Worksheets("feuil2").Range("3 & col").Value = Worksheets("feuil3").Range("lig & C").Value
End With
prière de m'aider s'il veut plait,
Merci
A voir également:
- Vba récupérer valeur cellule
- Récupérer au terminal de fret - Forum Consommation & Internet
- Excel VBA : Récupérer la valeur d'une cellule ✓ - Forum VB / VBA
- Recuperer message whatsapp supprimé - Guide
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
1 réponse
Bonjour,
Lorsque tu met du code utilise les codes car c'est plus lisible.
Ta macro corrigée :
Lorsque tu met du code utilise les codes car c'est plus lisible.
Ta macro corrigée :
Dim x As Variant, celfind As Range, lig As Integer, col As Integer, m As Range With Worksheets("Feuil3").Range("B1:B100") x = InputBox("saisir le numéro de la commande") Set celfind = .Find(x) lig = celfind.Row With Worksheets("feuil1").Range("A1:D3") .Copy Destination:=Worksheets("feuil2").Range("A1") End With Set m = Worksheets("feuil2").Rows("1").Find(celfind) col = m.Column Worksheets("feuil2").Cells(3, col).Value = Worksheets("feuil3").Cells(lig, 3).Value End With
Mercii infiniment
ça marche très bien