Modification de la plage "Method Intersect"

Anonyme
2020-04-09T13:47:11+00:00

Bonjour,

Est-ce qu'il est possible de modifier la plage "A:A, C:C, E:E" de la méthode Intersect  ci-dessous  :

If Not Application.Intersect(Target, Range("A:A, C:C, E:E")) Is Nothing Then

À savoir :

o      A:A pourrai devenir => A5: dernière cellule de la colonne A du tableau et ce quel que soit le nombre de lignes de celui-ci .

o      Pareil pour les deux autres

L'idée est, qu'à chaque nouvelle ligne de créée, la plage s'incrémente automatiquement. Cela permettra déjà de rester dans le tableau et de ne pas le limiter, du style par exemple, A5:A50 ou d'en mettre trop : A5:A65…

Merci pour votre aide.

Cordialement

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

29 réponses

Trier par : Les plus anciens
  1. DanielCo 107.1K Points de réputation
    2020-04-09T19:41:27+00:00

    Est-ce que tu peux mettre ton classeur, sans données confidentielles, sur OneDrive, DropBox, CJoint.com, mon-partage.fr ou sur un autre site de partage et poster le lien correspondant ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2020-04-09T20:10:59+00:00

    Petit rappel du fonctionnement.

    Clic dans la colonne "B". Message : Voulez-vous inscrire une équipe ? => Oui

    On passe colonne "C" et on tape un nom et on fait Enter. Nouveau message demandant si on continue les inscriptions ? => Non => nouveau message "Voulez-vous supprimer cette équipe ?

    Ce dernier message n'a pas à être là. Pour déclencher celui-ci, on sélectionne une cellule de la colonne "A". Donc rien à voir.

    Dans la colonne "C", la première lettre du nom n'est plus en majuscule. Le code pour ça est dans la feuille "Concours" dans le paragraphe "Contrôle saisie nom d'équipe (vers le milieu du code) et pour le message de suppression d'équipe est dans le paragraphe : Supprimer équipe (presqu'à la fin).

    https://1drv.ms/x/s!Avq7hyE1Ux3MnD1gK8eBEHmpa_fE?e=aESI85

    Merci pour ton aide.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.1K Points de réputation
    2020-04-10T08:12:57+00:00

    Clic dans la colonne "B". Message : Voulez-vous inscrire une équipe ? => Oui

    On passe colonne "C" et on tape un nom et on fait Enter. Nouveau message demandant si on continue les inscriptions ? => Non => nouveau message "Voulez-vous supprimer cette équipe ?

    Je n'ai pas ce message. Les équipes crées le restent.

    Pour la majuscule, tu dois changer la ligne :

    Set rg = Intersect(Target, Intersect(Range("C:C"), Range("5:" & Cells(Rows.Count, 1).End(xlUp).Row)))

    en :

    Set rg = Intersect(Target, Intersect(Range("C:C"), Range("5:" & Cells(Rows.Count, 2).End(xlUp).Row)))

    En effet, la colonne A est vide. la plage de référence est en colonne B.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2020-04-10T08:55:49+00:00

    Bonjour,

    Pour les majuscules, c'est OK. Par contre, j'aurai une question sur ton code sur la méthode Intersect.  Je suis tombé dessus par hasard en faisant des essais.

    If Not Intersect(Target, Intersect(Range("A:A"), Range("5:" & Cells(Rows.Count, 1).End(xlUp).Row))) Is Nothing Then

    A quoi correspond le chiffre "5" ? En faisant des essais, dans le chapitre "supprimer équipe" avec ce code, le code fonctionne uniquement sur la cellule "A5".

    Pour avoir le fameux message décrit hier, fait un reset et refais 3 ou 4 lignes, STP.

    Merci

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. DanielCo 107.1K Points de réputation
    2020-04-10T10:24:36+00:00

    Le "5" correspond au numéro de la première ligne. Comme la colonne A est vide,

    Range("5:" & Cells(Rows.Count, 1).End(xlUp).Row)

    Correspond à la plage 1:5.Il faut mettre :

    Range("5:" & Cells(Rows.Count, 2).End(xlUp).Row)

    qui correspond à B5:B8.

    If Not Intersect(Target, Intersect(Range("A:A"), Range("5:" & Cells(Rows.Count, 2).End(xlUp).Row))) Is Nothing Then

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire