Selectionner 2 cellules automatiquemen en VBA

Fermé
mimin - 8 févr. 2011 à 12:14
 Info - 8 févr. 2011 à 17:10
Bonjour,

je souhaiterais creer une commande VBA qui des que je selectionne par exemple la cellule B9 elle me selectionne I9 et ainsi de suite B7 me selectionne automatiquement I7. etc......

Please help, c urgent.

MERCI D'AVANCE


A voir également:

9 réponses

Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
8 févr. 2011 à 14:21
Salut,

A coller dans les propriétés de la feuille (clic droit sur l'onglet/Visualiser le code)
s'applique à la colonne B, mais peut se restreindre à une partie de la colonne

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([B:B], Target) Is Nothing Then
Target.Offset(0, 7).Select
End If
End Sub
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
8 févr. 2011 à 14:37
Bonjour

Je pense que cela répond à ta demande, autrement apporte des précisions

Sur l'onget de la feuille d'excel click droit et "visualiser le code" pour coller le code suivant. (Il y a peut-être mieux)


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim lIg, cOl
lIg = Target.Row
cOl = Target.Column
Cells(lIg, cOl + 7).Select

End Sub

Iama
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
8 févr. 2011 à 14:41
Attention il y a un probléme

Excuse je regarde

Iama
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
8 févr. 2011 à 14:43
Re,

Et on peut faire plus court

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([B:B], Target) Is Nothing Then Target.Offset(0, 7).Select
End Sub
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
8 févr. 2011 à 16:00
Salut

Je viens d'en engranger

Iama
0
Salut,
Merci deja, est ce que quelqu'un peut il m'expliquer en francais ce que ces codes disent. j4arrive pas a capter.

MERCI D'AVANCE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Au fait voila mon souci en plus clair:

un exemple: si je selectionne ma cellule A1 ca doit me selectionner la colonne I1, si je selectionne A5 je ve que ca me slectionne automatiquement I5. Le but étant de copier directement les donnees de la colonnes I de la même ligne quand je selectionne une cellule de la colonne A.

J'espere avoir était clair cette fois.

je pensais a ecrire une ligne de code qui me memorise les numeros de lignes des cellules selectionnées. Mais j'y arrive pas.

Si qqun pe m'aider svp.

Merci encore une fois
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 8/02/2011 à 15:48
Re,

Grossièrement,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

code macro privé, s'applique à la feuille (Worksheet) si la sélection change

If Not Intersect([B:B], Target) Is Nothing Then Target.Offset(0, 7).Select

Si la cellule active (Target) n'est pas en colonne B ne rien faire (Is Nothing) sinon (Then) depuis la cellule active (Target) en B sélectionner la cellule 7 cases à droite (Offset(0,7)

Fin de procédure (End Sub)

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
8 févr. 2011 à 15:57
Bonjoour,
Bonjour Mike, comme d'hab... faut lire entre les lignes :-)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect([A:A], Target) Is Nothing Then
        Target = Target.Offset(0, 8)
    End If
End Sub

A+
0
Bonjour lermite222,

Je crois que tu as oublié le phénomène de récursivité !

Est-ce que je me trompe ?

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Intersect([A:A], Target) Is Nothing Then
        ' Écriture -> Engendre la récursivité d'évènements
        Target = Target.Offset(0, 8)
    End If
    Application.EnableEvents = True
End Sub


Info
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 8/02/2011 à 16:50
Bien vu.
Mais étant donner que l'ont ne sélectionne que la colonne A, le retour sur SelectionChange n'a aucun effet
EDIT: en fait, bien réflechi... non
Le fait de modifier la cellule Target déclenche WorcheetChange mais pas SelectionChange, vu que l'ont ne change pas de sélection.
0
re:

Même si c'est l'évènement Worksheet_Change qui est déclenché, il l'est pour rien,
perte de performance.

Du moins c'est mon avis.

Cdt

Info
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
8 févr. 2011 à 16:37
Salut Lermite,

Non mais je vais finir par acheter une boule de cristal, dans la demande initiale il était question je site " je selectionne par exemple la cellule B9 elle me selectionne I9 et ainsi de suite B7 me selectionne automatiquement I7"

Sur le dernier post du demandeur "si je selectionne ma cellule A1 ca doit me selectionner la colonne I1, si je selectionne A5 je ve que ca me slectionne automatiquement I5. Le but étant de copier directement les donnees de la colonnes I de la même ligne quand je selectionne une cellule de la colonne A"

on ne parle plus de colonne B mais de A, non plus de sélection mais de rapatriement de données
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
8 févr. 2011 à 16:40
Re,
C'est bien ce que j'ai voulu dire, faut sortir la boule de cristal :DD
Et je ne sais pas si la mienne m'a bien guider ??
0
cellule A OU B C PAREIL? MOI CE QUI M4IMPORTE C LE PRINCIPE QUON SELECTIONNANT PAR EXEMPLE B9 CA ME SELECTIONNE I9.

Par contre j'ai une question bete, mais vu que je suis encore debutant sur VBA, je vais quand meme vous poser la question.

comment faire pour executer le code que vous m'avez donné. il est privé , je sias pas comment faire?
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 8/02/2011 à 16:44
Clic droit sur le nom de l'onglet (en bas du classeur) >> Visualiser le code.
Et c'est dans cette fenêtre que tu colle ce que l'ont te montre.
MAIS UN SEUL A LA FOIS.
0