Copier dans la bonne cellule !

Philippe95

XLDnaute Junior
Bonjour tout le monde !

J’utilise actuellement plusieurs macros, dont la 1ere action est de copier la cellule W9 de la feuille Achat(s) sur la cellule sélectionnée.

Je souhaiterai ne plus devoir sélectionner la destination, mais j’ai 40 possibilités !

J’ai cependant pris soin au paravent de copier le nom en U2 de l’entreprise dont la valeur devra être modifiée par l’action de la macro.

Entreverriez-vous une éventuelle possibilité pour que la macro en question modifie la valeur de la bonne entreprise, celle inscrite en U2.

Merci à vous tous.

Philippe
 

Pièces jointes

  • MaxiBourse 4-4.xlsm
    283.6 KB · Affichages: 21
  • MaxiBourse 4-4.xlsm
    283.6 KB · Affichages: 34
  • MaxiBourse 4-4.xlsm
    283.6 KB · Affichages: 31

camarchepas

XLDnaute Barbatruc
Re : Copier dans la bonne cellule !

Bonjour Philippe ,

Dans le module code de la feuille Achat ,
ajoute ceci

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Trouve As Range

If Target.Address = "$A$10" And Target <> "" And Range("U2") <> "" Then
 Set Trouve = Range("A:S").Find(Range("U2"), lookat:=xlWhole)
 If Not Trouve Is Nothing Then Trouve.Offset(0, 1) = Target
End If
End Sub
 

Philippe95

XLDnaute Junior
Re : Copier dans la bonne cellule !

Bonjour !

Merci de ta réponse, je ne fais peut être pas se qu'il faudrait, je ne parviens pas à faire fonctionner ta solution.

Pourrais tu s'il te plais me dire ce qui ne vas pas ?

Merci !

Philippe
 

Pièces jointes

  • MaxiBourse 4-4.xlsm
    285.4 KB · Affichages: 24
  • MaxiBourse 4-4.xlsm
    285.4 KB · Affichages: 35
  • MaxiBourse 4-4.xlsm
    285.4 KB · Affichages: 33

camarchepas

XLDnaute Barbatruc
Re : Copier dans la bonne cellule !

Ici tout fonctionne ,



il faut avoir au préalable le nom de la socièté dans u2, puis modifier A10 et bien sur valider ,


ça fonctionne impéccable , y compris les flèche inf et sup .

si ça ne fonctionne toujours pas ,

dis moi comment tu procèdes car le code est bien intégré et fonctionne.
 

Philippe95

XLDnaute Junior
Re : Copier dans la bonne cellule !

Bonjour !
Tu as entièrement raison cela fonctionne parfaitement ! Et je t’en remercie …

Mais, cela bloque avec apparemment une autre action effectué par une macro :
La macro :

Sub Macro11_Cliquer()
ActiveCell = [w9]
Columns("AQ:AQ").Select
Selection.ClearContents
Range("U2").Select
ActiveCell.FormulaR1C1 = ""
Range("AC2").Select
ActiveCell.FormulaR1C1 = ""
Range("A10").Select
ActiveCell.FormulaR1C1 = ""
Range("M20:M21").Select
ActiveCell.FormulaR1C1 = ""
Range("M22:M23").Select
ActiveCell.FormulaR1C1 = ""
Range("M24:M25").Select
ActiveCell.FormulaR1C1 = ""
Range("M26:M27").Select
ActiveCell.FormulaR1C1 = ""
Range("M28:M29").Select
ActiveCell.FormulaR1C1 = ""
Range("M30:M31").Select
ActiveCell.FormulaR1C1 = ""
End Sub

Il semble s’arrêter sur l’effacement de la colonne AQ, et met le message suivant :
Erreur d’exécution 13 :
Incompatibilité de type
Il affiche surligné en jaune :

If Target.Address = "$W$9" And Target <> "" And Range("U2") <> "" Then

D’ailleurs si j’essayer de refaire une macro avec l’enregistreur pour effacer la colonne AQ, il me remet toujours la même erreur.
Le nombre de cellules à effacées est variable, j’avais donc mis toute la colonne, mais une centaine peux convenir.

Je me suis permis de changer A10 par W9, c’est cette dernière qui contient la valeur à copier.

Merci à toi « Camarchepas » pour toute l’aide que tu m’apporte !

Merci !
Philippe. 
 

Pièces jointes

  • MaxiBourse 4-5.xlsm
    200.9 KB · Affichages: 19

camarchepas

XLDnaute Barbatruc
Re : Copier dans la bonne cellule !

Re ,

en effet cela n'est plus fonctionnel , car tu changes toute la donne .

La cellule W9 contient une formule donc , commme la formule n'est pas modifiée , l'événement change ne correspond plus à ce que l'on cherche à faire .

je pense que l'ensemble de la macro doit être dans macro11_clique.

il faudrait un mini d'explication de l'utilisation pour t'aider davantage .
 

Staple1600

XLDnaute Barbatruc
Re : Copier dans la bonne cellule !

Bonjour à tous

Philippe95
Une suggestion en passant
Théoriquement, cette version allégée de ta macro donne le même résultat, non ?
(Il est toujours intéressant d'éviter les Select, Activate dans le code VBA)
Code:
Sub Macro11_CliquerBIS()
ActiveCell = [B1]
Range("A10,M20:M31,U2,AC2,AQ:AQ") = Empty
End Sub

EDITION: Bonjour camarchepas ;)
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Copier dans la bonne cellule !

Bonjour Jean Marie ,

Excellante recommandation,

Je pense également Philippe , qu'avant d'aller trop loin dans ton programme, un bon descriptif de ce que tu veux obtenir t'éviterais de poser des questions à tiroirs ...
 

Philippe95

XLDnaute Junior
Re : Copier dans la bonne cellule !

Bonjour !

Un bon descriptif !

il s’agit d’un jeu de société que nous(ma famille) affectionnons particulièrement, mais pour le quel il y a un temps non négligeable, en particulier pour nous un peu moins rapide que la plus part des personnes, consacré à des calculs qui peuvent à la longue devenir rébarbatifs, mais qui surtout monopolise quasiment tous le temps d’un joueur, donc de façon à le rendre plus convivial surtout pour ce dernier.
C’est un vaste projet pour moi, je procède donc par étape (tiroirs)

Ces quelques lignes se trouvait sur l’un de mes tous premiers post, lorsque j’ai avec votre aide toujours précieuse, mis en chantier ce projet. Je comprends parfaitement que ces quelques mots ne puissent avoir été lus par la totalité de la communauté de ce site, voilà donc pour le descriptif générale.

Pour ce qui à motiver la création de cette discussion, et bien au risque de me répéter et je m’en excuse, mais je ne vois pas trop comment l’écrire.
Pour l’instant, lorsque je veux mettre à jour la cotation de l’entreprise nommée en U2, je sélectionne la cellule à modifier et j’active la macro (ActiveCell = [w9]) Macro 11 qui efface aussi tous ce qui devient inutile et gênant pour la suite.
Comme la si bien dit Staple « "A10,M20:M31,U2,AC2,AQ:AQ" = Empty »

Je souhaiterais si cela est possible ne plus à avoir à faire cette sélection manuelle, supprimer le risque d’oubli et d’un seul clique faire ce que je fais actuellement en plusieurs actions.

Merci Staple
je prends bonne note de tes recommandations, mais mon esprits fonctionnent moins rapidement que le vôtre, je ne me risque plus à traiter deux types d’informations différentes en même temps. Je vais donc les rangées précieusement et les mettre en application dès que solution seras trouvée ou pas à mon souhait actuel.
Quoi qu’il en soit je vous remercie de tous cœur de tout le temps que vous me consacrer.
Avec l’espoir d’avoir su répondre à ta demande de descriptif Canemarchepas !
Philippe
 

Discussions similaires