Recopie de cellules dans dans une feuille

Bonjour,

Je suis face à un problème qui je suis sûr va être résolu par la communauté.

J'ai un classeur Excel avec 3 feuilles.

La feuille A alimente la feuille B par enregistrements successifs. Chaque ligne de la feuille B à une numérotation unique (colonne A).

J'utilise la feuille C pour retrouver les informations liées au numéro unique par le biais d'un rechercheX. La cellule source est en F6.

Dans cette feuille C je voudrais ajouter deux trois informations dans des cellules et que ces informations viennent compléter les données de la feuille B dans la bonne ligne. Un bouton ferait l'affaire pour déclencher la recopie des informations dans la bonne ligne.

C'est là que je bloque !!!

Je n'arrive pas à recopier par rapport à la ligne en question.

Quelqu'un aurait il une idée pour que je m'y prenne de la bonne façon?

Je peux être plus explicite sur le détail de mon fichier si besoin.

Cordialement

Bonjour Rambaldy et bienvenu, bonjour le forum,

Le fichier ! Le fichier !... Criait la foule en délire...

Bonjour Thauthème,

Effectivement j'aurais pu mettre le fichier tout de suite. Cela aurait été plus simple.

Donc mon problème se situe sur l'onglet commande. J'entre un numéro en F4 et suite à cela j'aimerai compléter B16 et E18 et que ces données s'ajoutent dans l'onglet listing sur la bonne ligne (colonne L et W dans listing).

L'enregistrement pourrait se faire lors du clic pour générer l'email.

Cordialement

Bonjour Rambaldy, bonjour le forum,

Je te propose un solution VBA pure (suppression des formules) avec cette événementielle Change à placer dans le composant Feuil2 (Commande) et à compléter :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim OL As Worksheet
Dim R As Range
Dim LI As Integer

If Target.Address <> "$F$4" Then Exit Sub
If Target.Value = "" Then Exit Sub
Set OL = Worksheets("Listing")
Set R = OL.Columns(1).Find(Target.Value, , xlValues, xlWhole)
If R Is Nothing Then Exit Sub
LI = R.Row
Range("B4").Value = Date
Range("B6").Value = OL.Cells(LI, "C")
'etc. je te laisse le soin de compléter
End Sub

Je ne comprends pas pourquoi tu n'utilises pas une UserForm qui répond exactement à ce genre de demande et qui est bien plus efficace...

Bonjour ThauThème,

Merci de t'être penché sur mon problème. J'ai essayé ton bout de code en commençant par une cellule mais rien ne se passe.

Je l'ai bien ajouté dans la feuille mais rien ne se passe. J'ai juste modifié "Range("B16").Value = OL.Cells(LI, "L")" pour copier B16 dans la colonne L.

B16 étant la cellule que je souhaiterais copier dans la colonne L.

Cdt

Bonsoir Rambaldy, bonsoir le forum,

Ce code réagit au changement dans la cellule F4. Si tu ne changes pas F4, forcément il ne se passe rien !...

j'ai par habitude de toujours commenter mes codes et je m'aperçois que je ne l'ai pas fait pour toi. Je répare l'erreur :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim OL As Worksheet 'déclare la variable OL (Onglet Listing)
Dim R As Range 'déclare la variable R (Recherche)
Dim LI As Integer 'déclare la variable LI (LIgne)

If Target.Address <> "$F$4" Then Exit Sub 'si le changement a lieu ailleurs qu'en F4, sort de la procédure
If Target.Value = "" Then Exit Sub 'si F4 est effacée, sort de la procédure
Set OL = Worksheets("Listing") 'définit l'onglet OL
'définit la recherche R (recherche la valeur entière de F4 dans la colonne 1 de l'onglet OL)
Set R = OL.Columns(1).Find(Target.Value, , xlValues, xlWhole)
If R Is Nothing Then Exit Sub 's'il n'existe aucune occurrence trouvée, sort de la procédure
LI = R.Row 'définit la ligne LI
Range("B4").Value = Date 'renvoie la date dans B4
Range("B6").Value = OL.Cells(LI, "C") 'récupère dans B6 la valeur de la cellule ligne LI colonne C de l'onglet OL
'etc. je te laisse le soin de compléter
End Sub

Si tu as modifié c'est que tu n'avais pas envoyé le bon fichier. Je ne comprends pas pourquoi tu fais ça !?...


Bonjour ThauTheme,

Je travaille bien sur le même fichier que j'ai posté. Je ne comprends pas. J'ai probablement fait une erreur quelque part !

Je vais essayer à nouveau ce weekend et je te tiens au courant.

Merci pour le temps passé.

Cdt

Re-Bonjour ThauTheme,

Je viens de tester à nouveau. Rien ne se passe lorsque je modifie F4.

J'ai copié ton code dans worksheet -> change de la feuille commande. J'ai même essayé sans rien changer pour voir. la feuille Listing ne se modifie pas.

J'ai aussi essayé de modifier ton code en mettant une condition autre sur F4If Not Intersect(Target, Range("F4")) Is Nothing Then mais rien non plus (end if en fin de code bien sûr). j'ai aussi essayé en enlevant test deux conditions.

Je ne comprends vraiment pas pourquoi rien ne se recopie dans Listing!!!

La date change bien dans la feuille commande Range("B4").Value = Date dès que je vais sur la feuille ce que prouve que la routine est active.

J'ai même formaté la cellule F4 en nombre au cas ou ainsi que la colonne A dans Listing !!!

Je sèche vraiment !

Cdt

Bonjour Rambaldy, bonjour le forum,

Arf ! Tu va me faire passer pour un fou à force... En pièce jointe ton fichier modifié. À l'ouverture il faut, bien évidemment, activer les macros...


Bonjour ThauTheme,

Il y a eu une petite incompréhension. Je comprends maintenant pourquoi ton étonnement.

Avec ton code tu remontes les infos de Listing dans Commande (ce que je fait avec rechercheX).

Mon but serait d'alimenter Listing à partir de commande (les cellules B16 et E18) lorsque ceux ci sont renseignées (dans commande), car vide par défaut dans listing, d'où mon idée d'un bouton qui déclencherait la recopie dans la bonne ligne de listing).

Formulaire alimente listing (B16 et E18 n'existe pas dans cette feuille). Lorsque que je sais ou je vais commander, je rappelle la demande dans commande (F4) et je complète B16 et E18 (qui viendrait se copier dans la bonne ligne de listing).

J'ai surement mal exprimé ma demande dès le départ, même si quand je me relis je me comprends 😉.

Concernant ce que tu as écrit je vais quand même l'utiliser pour une autre idée que j'ai derrière la tête ce qui m'évite un rechercheX.

Cdt

Bonjour le forum,

Je me permet de faire une petite relance par rapport à mon petit problème .

D'avance merci.

Cdt

Rechercher des sujets similaires à "recopie feuille"