Modification d'une macro

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 !

Bremic83

XLDnaute Occasionnel
Bonjour à tous.

Connaissant très peu les macros,et à peu près ignare en langage vba,je butte depuis quelques temps sur une modification que je voudrais adapter sur une
macro,qui fonctionne très bien,maisdont, je désire,modifier le fonctionnement.

Cette macro sert à appeler à l'écran des tableaux divers diséminés dans le même feuillet d'un dossier.
Les tableaux sont référencés par une ou deux lettres de l'alphabet,pour l'instant,il y en a 53, dans la même colonne,de "A à BA".
Cette colonne devient très longue,et je vais manquer de place,je voudrais la scinder en trois parties,que j'envisage de placer sur trois colonnes:
Première:dans la colonne "S",de la ligne 1 à la ligne 21.
Deuxième dans la colonne "T",de la ligne 1 à la ligne 12
Troisième:dans la colonne "U",de la ligne 1 à la ligne 20
Soit en conservant mes lettres,soit en utilisant les repères des cellules de chaque colonne,je voudrais appliquer ma macro.
J'ai prospecté le forum,je n'ai pas trouvé la solution.
J'ai essayé plusieurs modifications ,lettres ou n°,et j'ai échoué sur des fenêtres d'erreurs différentes et le service Aide ne m'a rien apporté.
C'est peut-être très simple mais je ne sais pas le faire.

Aussi,je m'adresse à vous pour me sortir d'affaire.

En espérant attirer suffisamment l'intérêt de quelqu'un pour obtenir une réponse efficace,je vous dis: A plus.

Bremic83
 
Re : Modification d'une macro

Suite...
Il y avait une erreur dans la pièce jointe : je viens de la changer.
_
Le code est :
Code:
[COLOR="DarkSlateGray"]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Not Intersect(Target[B].Cells(1, 1)[/B], Range("B2:B22,D2:D13,F2:F21")) Is Nothing Then
      Range(Target.Cells(1, 1).Offset(0, 1).Value).Select
   End If
End Sub[/COLOR]
ROGER2327
#1950
 
Dernière édition:
Re : Modification d'une macro

Bonjour le fil, Roger2327, Bremic83

Et si l'on veut que la cellule sélectionnée se trouve en haut et à gauche de la fenêtre active,
on peut modifier le très beau code de Roger comme suit:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Not Intersect(Target, Range("B2:B22,D2:D13,F2:F21")) Is Nothing Then
      [B][COLOR=blue]Application.Goto[/COLOR][/B] Range(Target.Cells(1, 1).Offset(0, 1).Value)[B][COLOR=blue], True[/COLOR][/B]
   End If
End Sub
A plus
 
Dernière édition:
Re : Modification d'une macro

Re...
Bonjour soenda,
_
Vous avez raison, mais voyons d'abord si la profonde transformation apportée au projet de Bremic83 lui convient.
(Personnellement, je pense que ma proposition rend plus aisée la maintenance de la feuille. Mais des goûts et des couleurs...)​
ROGER2327
#1951
 
Re : Modification d'une macro

Bonsoir ROGER2327 et soenda
Je viens de rentrer et trouver vos envois.
En effet il ya une profonde transformation qui me laisse pantois et béat d'admiration.
Voilà une macro qui a besoin de beaucoup moins de place que la précédente.
Je n'ai pas le temps de la mettre en place et de l'adapter à mon fichier,mais je vais le faire demain,et vous tiendrai au courant.
Ne vous entretuez pas d'içi là,j'essaierai les deux propositions et opterai pour celle qui me plaira.
Mille fois merci,bonne nuit à tous deux,et:
A demain.

Bremic83
 
Re : Modification d'une macro

Re...
(...) Ne vous entretuez pas d'içi là,j'essaierai les deux propositions et opterai pour celle qui me plaira. (...)
Lorsque je mettais en balance deux procédures, il s'agissait de la vôtre et de la mienne, pas de celle de soenda et de la mienne. Cette dernière est en fait une amélioration de la mienne, mais elles n'ont pas de différence fondamentale.
Ce qui est très différent, ce sont les deux nôtres : dans la vôtre, les adresses des cellules à appeler sont inscrites dans le code, alors que dans la mienne, elles sont inscrites dans la feuille. Ce choix fait que j'utilise trois plages supplémentaires (dans les colonnes C, E et G. Ce peut être gênant si l'architecture de votre feuille est déjà établie. A vous de voir.
Une remarque tout de même : je crois qu'il est préférable d'écrire
Code:
[COLOR="DarkSlateGray"]   If Not Intersect(Target[B].Cells(1, 1)[/B], Range("B2:B22,D2:D13,F2:F21")) Is Nothing Then
[/COLOR]
plutôt que
Code:
[COLOR="DarkSlateGray"]   If Not Intersect(Target, Range("B2:B22,D2:D13,F2:F21")) Is Nothing Then
[/COLOR]
ROGER2327
#1952
 
Dernière édition:
Re : Modification d'une macro

Bonjour ROGER2327,et soenda
Merci de ces dernières précisions,celà me rassure,j'avais craint une effusion de sang et la fin d'une longue complicité !
Je vous tire mon chapeau,j'ai mis (laborieusement) en place le dispositif et il fonctionne parfaitement bien.
Votre procédé,Roger,nous a permis de résoudre un autre problème dans le cadre des activités de loisirs d'un petit club des anciens.
Il me reste à vous remercier pour votre gentillesse et vous dire toute mon admiration pour vos compétences.

Très cordialement.

Bremic83
 
Re : Modification d'une macro

Re...
Votre procédé,Roger,nous a permis de résoudre un autre problème dans le cadre des activités de loisirs d'un petit club des anciens.
Si la solution de cet autre problème est susceptible de rendre service à quelqu'un, n'hésitez pas à en faire part à la communauté.
A part ça, merci pour les compliments, peut-être trop généreux.
Et longue vie à votre Club et à ses membres !​
ROGER2327
#1958
 
Dernière édition:
Re : Modification d'une macro

Bonjour ROGER2327
Merci pour tes voeux de longévité;
mais avant de faire part à la communauté,il faut tout reprendre à zéro,un ensemble de tâches qui va des fiches individuelles des membres aux participations à des voyages,des excursions,et bien d'autres tableaux,à mettre au point,car,une grande partie est sur fiches papier.
L'ordinateur est une nouveauté dans ce club,et peu ou pas de gens capables de l'utiliser,en dehors de la tenue du compte courant,ou de patites recherches sur internet.
C'est moi qui m'y colle !
Encore merci pour tout.

Bremic83
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
127
Réponses
19
Affichages
675
Retour