VBA : problème pour copier résultat cellule dans l'outil rechercher

Amauty

XLDnaute Junior
Bonjour à tous,

Je suis en train de créer un fichier permettant d'afficher différents tableaux correspondants aux ventes sur un marché choisi.
Il y a deux feuilles : une affichant le tableau des ventes pour le marché demandé ("Bodega") et l'autre contenant les informations sur chaque marché mais non utilisable simplement car il y a un tableau distinct par marché !("BD marché").

Voici la macro avec en jaune mon souci :

Sub Macro1()
'
' Macro1 Macro
Range("C1").Select
Selection.Copy
Sheets("BD marché").Select
Range("A1").Select
Cells.Find(What:="MERCADO DESTINO: ANGOLA", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(2, 0).Range("A1").Select
Selection.End(xlToRight).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Bodegas").Select
ActiveCell.Offset(2, 0).Range("A1").Select
ActiveSheet.Paste
End Sub

En fait, le texte en jaune est le résultat de ce que j'ai copié plus tôt :
Range("C1").Select
Selection.Copy
Cette cellule CA contient le texte qui va permettre avec l'outil rechercher de retrouver le tableau du marché en question et de le copier dans la feuille "bodega". Le problème, c'est que la macro ne prend pas en compte la cellule copié mais le texte affiché lors de l'enregistrement de la macro. A savoir ici le marché de l'Angola.
Je veux pouvoir utiliser cette macro lorsque le nom du pays change.

Merci de votre aide, et faite moi savoir si ce n'est pas compréhensible !

Amaury
 
C

Compte Supprimé 979

Guest
Re : VBA : problème pour copier résultat cellule dans l'outil rechercher

Bonjour Amauty

1ère chose ... pitiéééééééé pour LES TEXTES en JAUNE JAUNE mes pauvres yeux

Ensuite pour ton problème, il suffit d'utiliser une variable, si j'ai bien compris,
Code:
Sub Macro1()
  Dim Marché As String
  '
  ' Macro1 Macro
  Range("C1").Copy Destination:=Sheets("BD marché").Range("A1")
  Marché = "MERCADO DESTINO: ANGOLA"
  'Marché = range("A1")
  With Sheets("BD marché")
    .Cells.Find(What:=Marché, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
                SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
    ActiveCell.Offset(2, 0).Range("A1").Select
    Selection.End(xlToRight).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Bodegas").Select
    ActiveCell.Offset(2, 0).Range("A1").Select
    ActiveSheet.Paste
  End With
End Sub

A+
 

Amauty

XLDnaute Junior
Re : VBA : problème pour copier résultat cellule dans l'outil rechercher

Bonjour et merci pour ta réponse.

J'apprends petit à petit à travers mes questions à me servir des macros. Je me suis permis de modifier ta version et si tu le veux bien, voici une autre question :
A quoi sert-il d'écrire

Marché = "Mercado destinado: Angola"
Marché = range("A1")

Ma version semble fonctionner mais dans le doute je préfère demander à un expert :

Dim Marché As String
Marché = Sheets("Bodegas").Range("C1")
Sheets("BD marché").Select
Range("A1").Select
Cells.Find(What:=Marché, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(2, 0).Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Bodegas").Select
Range("C3").Select
ActiveSheet.Paste
End Sub

A+

PS : j'ai changé de couleur
 
C

Compte Supprimé 979

Guest
Re : VBA : problème pour copier résultat cellule dans l'outil rechercher

Re,

voici une autre question : A quoi sert-il d'écrire
Marché = "Mercado destinado: Angola"
Marché = range("A1")
Ne sachant pas d'ou provenait la valeur de ta variable, je t'avais mis 2 possibilités ;)
L'une en dur dans le code, l'autre via la valeur d'une cellule

Merci d'avoir changé de couleur :)

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 394
Messages
2 088 022
Membres
103 702
dernier inscrit
Greedyyy3317