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

Copie automatique

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

N

nikobell

Guest
Bonjour à tous,

Je souhaite à partir d'un classeur contenant 2 feuilles, sélectionner une donnée dans la première feuille, la rechercher dans la 2ème feuille, puis copier la valeur correspondante à cette donnée dans la 1ère feuille.

Pour résumer voici le code sur une cellule:

Code:
 Range("B15").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Cells.Find(What:="a32349", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
    Range("C4519").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil1").Select
    Range("D15").Select
    ActiveSheet.Paste

Quelqu'un peut il m'aider à automatiser cela?

Merci d'avance

Nikobell
 
Re : Copie automatique

Salut,

La valeur correspondante à cette donnée (située en colonne A) se trouve dans la colonne C correspondante.

Peux tu m'aider du coup?

Merci

Niko
 
Re : Copie automatique

Re bonjour,

voici un code "allégé" sans les ".Select" qui sont inutile en VBA (le défaut de l'enregistreur de macro):

Code:
Sub test()
valeur = Range("B15").Value
Sheets("Feuil2").Select
Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate
ActiveCell.Offset(0, 2).Copy Sheets("Feuil1").Range("D15")
End Sub
 
Re : Copie automatique

Merci Skoobi!

Maintenant je veux le faire sur toute ma feuille, il me semble que la boucle For est la meilleure solution, en code ca donne ca, mais ca ne marche pas :
Code:
Sub test()
For i = 2 To 10
valeur = Range("B" & i).Value
Sheets("Feuil2").Select
Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate
ActiveCell.Offset(0, 2).Copy Sheets("Feuil1").Range("D" & i)
Next i
End Sub

Peux tu me dire ce qui ne va toujours pas?

Niko
 
Re : Copie automatique

En fait cette boucle fonctionne, toutefois, certaines valeurs recherchées ne sont pas présentes dans ma feuille 2. Comment faire pour que cela affiche un 0 lorsque mes valeurs ne sont pas présentes?
Je pense à un If mais je ne sais pas quelle valeur préciser derrière (null?)
Pour t'illustrer mon propos:
Code:
Sub test()
For i = 1 To 50
Sheets("Feuil1").Select
valeur = Range("B" & i).Value
Sheets("Feuil2").Select
If Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate = null [I]Je veux préciser ici que si la valeur n'existe pas[/I]
Range("D" & i) = 0 [I]Alors on lui attribue 0[/I]
Next i
Else If ActiveCell.Offset(0, 2).Copy Sheets("Feuil1").Range("D" & i)
Next i
End Sub

Merci d'avance pour ton aide

Niko
 
Re : Copie automatique

Re bonsoir,

comme ceci:

Code:
Sub test()
For i = 1 To 50
Sheets("Feuil1").Select
valeur = Range("B" & i).Value
Sheets("Feuil2").Select
[COLOR=Blue][B]Set trouve[/B][/COLOR] = Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False)
[COLOR=Blue][B]If trouve Is Nothing Then[/B][/COLOR]
Range("D" & i) = 0
[COLOR=Blue][B]Else: [/B][/COLOR]ActiveCell.Offset(0, 2).Copy Sheets("Feuil1").Range("D" & i)
[COLOR=Blue][B]End If[/B][/COLOR]
Next i
End Sub
 
- 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
10
Affichages
791
Réponses
2
Affichages
589
Réponses
2
Affichages
411
Réponses
3
Affichages
639
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…