Cliquer une fois dans les cellules d'une plage
Fermé
chrisnapoli
Messages postés
134
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
5 avril 2018
-
14 mai 2015 à 11:05
chrisnapoli Messages postés 134 Date d'inscription vendredi 8 mai 2015 Statut Membre Dernière intervention 5 avril 2018 - 15 mai 2015 à 19:29
chrisnapoli Messages postés 134 Date d'inscription vendredi 8 mai 2015 Statut Membre Dernière intervention 5 avril 2018 - 15 mai 2015 à 19:29
A voir également:
- Cliquer une fois dans les cellules d'une plage
- Formule excel pour additionner plusieurs cellules - Guide
- Aller à la ligne dans une cellule excel - Guide
- Site paiement plusieur fois carte nickel forum - Forum Consommation & Internet
- Image de manchots sur une image de plage ✓ - Forum Graphisme
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
14 mai 2015 à 14:13
14 mai 2015 à 14:13
Bonjour,
Option Explicit
'------
Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lig As Byte, Col As Byte
If Not Application.Intersect(Target, Range("CV12:CV51,CX12:CX51")) Is Nothing Then
Range("DP2") = Target
Lig = Target.Row
Col = Target.Column
Cells(Lig, "CW") = IIf(Col = 100, Cells(Lig, "DX"), Cells(Lig, "DW"))
End If
End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
14 mai 2015 à 16:25
14 mai 2015 à 16:25
bonjour,
effectivement, si tu débutes
fait un copier du code
clic droit sur le nom de l'onglet de ta feuille (en bas à gauche de la fen^tre excel)
clic visualiser le code
coller
la macro est installée dans le module "feuille" de ta feuille
la macro est dite "événementielle" c'est à dire que on valide une saisie (et non un résultat de formule) dans une cellule (target) de la zone
Range("CV12:CV51,CX12:CX51")) la macro se déclenche
effectivement, si tu débutes
fait un copier du code
clic droit sur le nom de l'onglet de ta feuille (en bas à gauche de la fen^tre excel)
clic visualiser le code
coller
la macro est installée dans le module "feuille" de ta feuille
la macro est dite "événementielle" c'est à dire que on valide une saisie (et non un résultat de formule) dans une cellule (target) de la zone
Range("CV12:CV51,CX12:CX51")) la macro se déclenche
chrisnapoli
Messages postés
134
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
5 avril 2018
14 mai 2015 à 17:29
14 mai 2015 à 17:29
Bonjour a nouveau
j 'avais bien mis votre code dans ma feuille mais comme je vous l'ai dit j 'ai seulement mon premier code qui s'exécute pas le deuxième
si je clique dans une cellule de la plage CV12:CV51 ou CX12:CX51 j'ai bien a chaque fois le résultat dans la cellule DP2
Mais je n'ai aucun résultat dans la cellule CW52
comme je vous l'ai explique en cliquant une fois
sur la cellule CV12 je devrais avoir premièrement le contenu de la cellule CV12 en DP2 et dans le même temps le contenue de la cellule DX12en CW52
en cliquant une fois
sur la cellule CX12 je devrais avoir premièrement le contenu de la cellule CX12 en DP2 et dans le même temps le contenue de la cellule DW12 en CW52
je ne sais pas si je m'exprime assez bien en l'état j'ai seulement le premier code qui s'exécute
Merci de me dire ou est le shmilblic
cordialement CN
j 'avais bien mis votre code dans ma feuille mais comme je vous l'ai dit j 'ai seulement mon premier code qui s'exécute pas le deuxième
si je clique dans une cellule de la plage CV12:CV51 ou CX12:CX51 j'ai bien a chaque fois le résultat dans la cellule DP2
Mais je n'ai aucun résultat dans la cellule CW52
comme je vous l'ai explique en cliquant une fois
sur la cellule CV12 je devrais avoir premièrement le contenu de la cellule CV12 en DP2 et dans le même temps le contenue de la cellule DX12en CW52
en cliquant une fois
sur la cellule CX12 je devrais avoir premièrement le contenu de la cellule CX12 en DP2 et dans le même temps le contenue de la cellule DW12 en CW52
je ne sais pas si je m'exprime assez bien en l'état j'ai seulement le premier code qui s'exécute
Merci de me dire ou est le shmilblic
cordialement CN
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
15 mai 2015 à 07:57
15 mai 2015 à 07:57
Bonjour
et alors ?
https://www.cjoint.com/?3EpihSj5rkk
quand je clique ca marche
si ca persiste essaie comme ceci
et alors ?
https://www.cjoint.com/?3EpihSj5rkk
quand je clique ca marche
si ca persiste essaie comme ceci
Option Explicit
'------
Sub Worksheet_selectionChange(ByVal Target As Range)
Dim Lig As Byte, Col As Byte
If Not Application.Intersect(Target, Range("CV12:CV51,CX12:CX51")) Is Nothing Then
Range("DP2") = Target
Lig = Target.Row
Col = Target.Column
If Col = 100 Then
Cells(Lig, "CW") = Cells(Lig, "DX")
Else
Cells(Lig, "CW") = Cells(Lig, "DW")
End If
End If
End Sub
chrisnapoli
Messages postés
134
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
5 avril 2018
15 mai 2015 à 10:21
15 mai 2015 à 10:21
Bonjour Michel
je viens d'essayer le document joint et je suis quand même rassuré parce qu'il marche mais il ne correspond pas a l'action que je veux faire .
Dans votre classeur lorsque je clique une fois sur une cellule de la plage CV12:CV51 ou CX12:CX51 je me retrouve avec (prenons deux exemples)
je clique sur CV12 et je me retrouve avec le contenue de la cellule DX12 en CW12 ,alors que je devrais avoir ce contenue en CW52
(je clique en cellule CV12 je me retrouve avec ,en CW52 avec le résultat qui est affichée dans la cellule DX12 ) "c'est ce que j'avais noté dans mon premier message"
je clique sur CX12 et je me retrouve avec le contenue de la cellule DW12 en CW12 ,alors que je devrais avoir ce contenue en CW52
(Deuxièmement pour la plage CX12:CX51 le même principe je clique en cellule CX12 je me retrouve avec ,en CW52 avec le résultat qui est affichée dans la cellule DW12 ) "c'est ce que j'avais noté dans mon premier message"
j'ai démasqué les colonnes et il n y a pas le contenue de chaque cellule en DP2 qui devrait se faire lorsque je clique également dans les plages CV12:CV51 et CX12:CX51
(je voudrais maintenant dans la même feuille si je clique sur une cellule de la plage CV12:CV51, avoir en même temps que s'affiche en cellule DP2 le contenue de (prenons pour exemple cellule de départ, CV12);Deuxièmement pour la plage CX12:CX51 le même principe ) "c'est ce que j'avais noté dans mon premier message"
résumons ce n'est à mon avis ,qu"un problème de confusion et de lecture du message
"j"ai 4 colonnes;d'un coté CV12:CV51 et CX12:CC51, de l'autre DW12:DW51 et DX12:DX51
;dans les plages CV12:CV51 et CX12:CC51 il est inscrit des noms (les deux plages sont a l'identique lorsque je clique sur une cellule de ces plages automatiquement apparait en DP2 le nom qui est inscrit dans la cellule ou je viens de cliquer(exemple si je clique en CV12 apparaitra le nom inscrit dans cette cellule en DP2;si je clique en CX12 il apparaitra également le même nom dans la cellule DP2(puisque je vous ai dit que les deux plages étaient identique
si je clique en CV13 évidemment apparaitra un autre nom en DP2 si je clique en Cx13 c'est le même nom en DP2 qui apparaitra (comme si j'avais cliqué en CV13)
vous rentrez mon premier code dans une feuille puis vous inscrivez des noms dans la plage CV12:CV:51 ;vous faites la plage CX12:CX51 strictement identique et vous allez vérifier que cela correspond bien a ce que je vous dit
Puis dans la colonne DW12:DW51 vous inscrivez des nombres ,dans la colonneDX12:DX51 vous inscrivez des nombres (attention pas forcement les mêmes) ces nombres devront attention s'inscrire en CW52,suivant clic donné dans les deux premières plages
et vous dites "lorsque je clique une fois dans une cellule de la plage CV12: CV51 ou CX12:CX51 je veux que :
Exemple: je clique sur CV12, le "nom "contenue a l'intérieur de cette cellule s'inscrive en DP2 et dans le même temps s'inscrive en CW52 le "nombre "inscrit en cellule DX12
si je clique dans la celluleCX12,le "nom "contenue a l'intérieur de cette cellule s'inscrive en DP2 et dans le même temps s'inscrive en CW52 le "nombre "inscrit en cellule DW12
...etc en continuant sur le même schéma
En fait je ne connais pas la programmation mais a mon avis il faut trouver le code qui scelle les plages CV12:CV51 à DX12:DX51 CX12:CX51 à DW12:DW51 et donner peut être une condition"si c'est un nom inscrire en DP2;si c'est un chiffre ou nombre inscrire en CW51
on pourrait aussi très bien imaginer, garder mon premier code pour les deux plages en colonne 100et 102 et avoir un deuxième code pour les colonnes 127et128 en donnant DP2 comme cellule de destination aux deux premières colonnes et CW 52 aux colonnes suivantes ;mais a ce moment la, je serais obligé de cliquer a deux endroits différent dans la feuille ,ce n'est pas possible et ce n'est pas le but recherché
Mais ce n'est qu'une hypothèse ;la solution c'est vous qui allait me la trouver.
Merci je suis certain que vous allez y arriver.
très bonne journée je pense que la programmation doit être un métier passionnant
cordialement CN, Excellente journée à vous
je viens d'essayer le document joint et je suis quand même rassuré parce qu'il marche mais il ne correspond pas a l'action que je veux faire .
Dans votre classeur lorsque je clique une fois sur une cellule de la plage CV12:CV51 ou CX12:CX51 je me retrouve avec (prenons deux exemples)
je clique sur CV12 et je me retrouve avec le contenue de la cellule DX12 en CW12 ,alors que je devrais avoir ce contenue en CW52
(je clique en cellule CV12 je me retrouve avec ,en CW52 avec le résultat qui est affichée dans la cellule DX12 ) "c'est ce que j'avais noté dans mon premier message"
je clique sur CX12 et je me retrouve avec le contenue de la cellule DW12 en CW12 ,alors que je devrais avoir ce contenue en CW52
(Deuxièmement pour la plage CX12:CX51 le même principe je clique en cellule CX12 je me retrouve avec ,en CW52 avec le résultat qui est affichée dans la cellule DW12 ) "c'est ce que j'avais noté dans mon premier message"
j'ai démasqué les colonnes et il n y a pas le contenue de chaque cellule en DP2 qui devrait se faire lorsque je clique également dans les plages CV12:CV51 et CX12:CX51
(je voudrais maintenant dans la même feuille si je clique sur une cellule de la plage CV12:CV51, avoir en même temps que s'affiche en cellule DP2 le contenue de (prenons pour exemple cellule de départ, CV12);Deuxièmement pour la plage CX12:CX51 le même principe ) "c'est ce que j'avais noté dans mon premier message"
résumons ce n'est à mon avis ,qu"un problème de confusion et de lecture du message
"j"ai 4 colonnes;d'un coté CV12:CV51 et CX12:CC51, de l'autre DW12:DW51 et DX12:DX51
;dans les plages CV12:CV51 et CX12:CC51 il est inscrit des noms (les deux plages sont a l'identique lorsque je clique sur une cellule de ces plages automatiquement apparait en DP2 le nom qui est inscrit dans la cellule ou je viens de cliquer(exemple si je clique en CV12 apparaitra le nom inscrit dans cette cellule en DP2;si je clique en CX12 il apparaitra également le même nom dans la cellule DP2(puisque je vous ai dit que les deux plages étaient identique
si je clique en CV13 évidemment apparaitra un autre nom en DP2 si je clique en Cx13 c'est le même nom en DP2 qui apparaitra (comme si j'avais cliqué en CV13)
vous rentrez mon premier code dans une feuille puis vous inscrivez des noms dans la plage CV12:CV:51 ;vous faites la plage CX12:CX51 strictement identique et vous allez vérifier que cela correspond bien a ce que je vous dit
Puis dans la colonne DW12:DW51 vous inscrivez des nombres ,dans la colonneDX12:DX51 vous inscrivez des nombres (attention pas forcement les mêmes) ces nombres devront attention s'inscrire en CW52,suivant clic donné dans les deux premières plages
et vous dites "lorsque je clique une fois dans une cellule de la plage CV12: CV51 ou CX12:CX51 je veux que :
Exemple: je clique sur CV12, le "nom "contenue a l'intérieur de cette cellule s'inscrive en DP2 et dans le même temps s'inscrive en CW52 le "nombre "inscrit en cellule DX12
si je clique dans la celluleCX12,le "nom "contenue a l'intérieur de cette cellule s'inscrive en DP2 et dans le même temps s'inscrive en CW52 le "nombre "inscrit en cellule DW12
...etc en continuant sur le même schéma
En fait je ne connais pas la programmation mais a mon avis il faut trouver le code qui scelle les plages CV12:CV51 à DX12:DX51 CX12:CX51 à DW12:DW51 et donner peut être une condition"si c'est un nom inscrire en DP2;si c'est un chiffre ou nombre inscrire en CW51
on pourrait aussi très bien imaginer, garder mon premier code pour les deux plages en colonne 100et 102 et avoir un deuxième code pour les colonnes 127et128 en donnant DP2 comme cellule de destination aux deux premières colonnes et CW 52 aux colonnes suivantes ;mais a ce moment la, je serais obligé de cliquer a deux endroits différent dans la feuille ,ce n'est pas possible et ce n'est pas le but recherché
Mais ce n'est qu'une hypothèse ;la solution c'est vous qui allait me la trouver.
Merci je suis certain que vous allez y arriver.
très bonne journée je pense que la programmation doit être un métier passionnant
cordialement CN, Excellente journée à vous
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
15 mai 2015 à 11:30
15 mai 2015 à 11:30
Mais ce n'est qu'une hypothèse ;la solution c'est vous qui allait me la trouver.
Merci je suis certain que vous allez y arriver.
Pose ton violon et Cherche un peu
Merci je suis certain que vous allez y arriver.
Pose ton violon et Cherche un peu
chrisnapoli
Messages postés
134
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
5 avril 2018
15 mai 2015 à 12:05
15 mai 2015 à 12:05
Bonjour
excusez moi de vous avoir blessé, ce n'était absolument pas mon intention
cette phrase veut tout simplement dire ,la solution vous allez me la trouver parce que j'en suis moi même incapable...
il ne faut pas voir autre chose derrière,pour la bonne raison que je n'irais pas demander sur les forums de l'aide,si je savais le faire moi même.
n'y voyez aucune pique ,ni aucune mauvaise intention de ma part.
il arrive souvent que les gens sur les forums ne trouvent pas la solution , ce n'est pas dramatique ils me répondent tout simplement" je ne trouve pas à solutionner votre problème ,essayer de contacter une personne qui maitrise mieux la chose que moi"
Merci tout de même d'avoir essayé;et encore une fois veuillez m'excuser de vous avoir involontairement froissé.
très bonne journée
excusez moi de vous avoir blessé, ce n'était absolument pas mon intention
cette phrase veut tout simplement dire ,la solution vous allez me la trouver parce que j'en suis moi même incapable...
il ne faut pas voir autre chose derrière,pour la bonne raison que je n'irais pas demander sur les forums de l'aide,si je savais le faire moi même.
n'y voyez aucune pique ,ni aucune mauvaise intention de ma part.
il arrive souvent que les gens sur les forums ne trouvent pas la solution , ce n'est pas dramatique ils me répondent tout simplement" je ne trouve pas à solutionner votre problème ,essayer de contacter une personne qui maitrise mieux la chose que moi"
Merci tout de même d'avoir essayé;et encore une fois veuillez m'excuser de vous avoir involontairement froissé.
très bonne journée
chrisnapoli
Messages postés
134
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
5 avril 2018
>
chrisnapoli
Messages postés
134
Date d'inscription
vendredi 8 mai 2015
Statut
Membre
Dernière intervention
5 avril 2018
15 mai 2015 à 19:29
15 mai 2015 à 19:29
Bonsoir Michel
je suis content que vous m'ayez un peu bousculé, ce matin, parce que je me suis creusé la tête j'ai fini par trouver
je vous renvoie votre document et vous constaterez qu'avec quelques astuces et formules
https://www.cjoint.com/?3EptN0GLd7A
merci de me dire donner votre avis et peut être avez vous une meilleure solution que la mienne ?
vous regarderez chaque fois que je clique sur une cellule des deux plages le résultat s'affiche bien en cellule CW52 (je ne l'ai fait que sur quatre lignes pour que vous jugiez du travail)
j'espère que vous ne m'en voulez pas
puis je vous consulter pour d'autres problèmes que je n'arrive pas a résoudre?
merci , c'est grâce a vous que je suis finalement arrivé a trouver cette solution
Bonne soirée
je suis content que vous m'ayez un peu bousculé, ce matin, parce que je me suis creusé la tête j'ai fini par trouver
je vous renvoie votre document et vous constaterez qu'avec quelques astuces et formules
https://www.cjoint.com/?3EptN0GLd7A
merci de me dire donner votre avis et peut être avez vous une meilleure solution que la mienne ?
vous regarderez chaque fois que je clique sur une cellule des deux plages le résultat s'affiche bien en cellule CW52 (je ne l'ai fait que sur quatre lignes pour que vous jugiez du travail)
j'espère que vous ne m'en voulez pas
puis je vous consulter pour d'autres problèmes que je n'arrive pas a résoudre?
merci , c'est grâce a vous que je suis finalement arrivé a trouver cette solution
Bonne soirée
14 mai 2015 à 14:55
je viens d'(essayer et apparemment ça ne fonctionne pas
ça marche lorsque je clique par exemple sur la cellule CV12, ou CX12, j'ai bien le résultat en cellule DP2,et cela fonctionne sur toutes les cellules de ces deux plages
Mais en cliquant sur CV12, devrait apparaitre en CW52 le contenue de la cellule DX12;
en cliquant sur CX12 devrait apparaitre,toujours en CW52 le contenue de la cellule DW12
je n'ai jamais fait de programmation , alors ne m'en veuillez pas je peux pas vous aider ,simplement j'ai remarque dans le code que vous m'avez envoyé que ca bugge sur cette ligne ,j'ai même essayé d'ajouter 52 à CW (puisque le résultat doit se retrouver dans cette cellule )rien ne se passe
avez vous une solution?
merci cordialement CN
Cells(Lig, "CW") = IIf(Col = 100, Cells(Lig, "DX"), Cells(Lig, "DW"))