Condition Boucle jusqu'a la dernier personne inscrit

bonjour à tous,

je commence tout juste dans le VBA , j'essaye depuis 1 semaine de réaliser une macro qui pourrai me faciliter le travail .

voila ce que je souhaite et que je n'y arrive pas :

je voudrai une condition si la sélection est dans la feuil2 colonne F , sur la dernière personne inscrit

ex : 07/01 - DJABOU alors :

je veux que la macro au lieu de descendre d'une ligne,

se dirige vers la date en A11 ,et reprend a partir de toto2 (voir macro):

et un 2è vœux

je veux que dans le tableau en Feuil1

dès lorsque la dernière personne est inscrit , la macro met une bordure épaisse

je vous joint mon fichier pour mieux comprendre ma demande .

en feuil1, il y a un tableau avec le résultat attendu.

merci pour votre aide

14eerrg.xlsm (47.08 Ko)

up quelqu'un pour m'aider ? ou une proposition ?

merci d'avance .

Bonjour,

Ah les joies des cellules fusionnées !

Une proposition en pièce jointe.

Je te laisse t'occuper de la décoration...

A+

8yeng-vg.xlsm (50.81 Ko)

merci pour ta proposition , j'ai compris un peu ce que tu as fait grâce au pas à pas,

le résultat que tu obtiens est ce que je veux , mais n'est pas la manière dont je veux qu'il fonctionne .

je m'explique :

si tu active ma macro en pas à pas , tu comprendra que lorsqu'il arrive à la personne nommé lancea ludovic (L3/CF)

la macro fait cette action :

toto1:

Nom = ActiveCell

Selection.Offset(1, 0).Select

et du coup sélectionne Zanca Olivier et fait cette action :

Sheets("Feuil1").Select ' va dans la feuil3

Range("B3").Select 'cellule B3

'boucle jusqu'a case vide

Do While Not IsEmpty(ActiveCell)

Selection.Offset(1, 0).Select

Loop

'si case non vide alors coller les infos

ActiveCell = jourformatio

Selection.Offset(0, 1).Select

ActiveCell = Nom

Selection.Offset(0, -1).Select

'ensuite retourne sur la feuil2 pour répéter l'action toto1 jusqu’à avoir une case vide .

Sheets("Feuil2").Select

If Not IsEmpty(ActiveCell) Then

GoTo toto1

jusque la tout et normal c'est bien ce je veux qu'il fasse .

sauf que moi je veux que lorsqu'il arrive à la personne nommé DJABOU AHMAR (L10/CF)

je veux qu'il descend sur la cellule 13-janv (A11:A18) au lieu de descendre sur DAGNEAUD KEVIN

car je veux d’abord qu'il sélectionne la date avant d'aller sur le nom .

voila ce que je veux , je ne sais pas si cela est réalisable

merci pour une autre proposition .

Bonjour

fichier avec qq petites modifs à tester

A plus sur le forum

7eerrg-3.xlsm (46.92 Ko)

Wouuuuuuuuuuuuuaaaaah C'est exactement ce que je veux !!!

merci encore pour ton travail , je vais l’adapter a mon vrai fichier , si j'ai un problème je reviens

si tout ce passe bien je passerai mon sujet en résolu.

merci encore et bonne journée

re

parfait

mais si je peux me permettre un avis

l'utilisation de Range, Row, Columns et Cells est plus souple que Offset

pour ma part je n'utilise Offset que pour décaler une selection

A plus sur le forum

re

parfait

mais si je peux me permettre un avis

l'utilisation de Range, Row, Columns et Cells est plus souple que Offset

pour ma part je n'utilise Offset que pour décaler une selection

A plus sur le forum

j'ai fait un copier coller d'un macro que j'ai étudier , et j'ai trouvé cette astuce utiles a ma macro .

j'ai un nouveau problème :

la macro fonctionne très bien mais je dois avoir une problème sur cette condition :

If ActiveCell = Month(Date) < Month("01/01/" & Year(Date)) Then

en faite je veux qu'elle vérifie la date de la session ex 07-janv,

Cad : si la date est compris dans le mois de janvier alors continue le script

sinon end if .

mais il ne fait pas ce que je lui demande car meme si la date n'est pas dans le mois il continu le script au lieu de end if .

une proposition ?

merci d'avance l'équipe .

Bonjour

Month("01/01/" & Year(Date)) sera toujours = a 1

je sais bien que la devise Shadok est "pourquoi faire simple quand on peu faire compliqué "

mai remplace

If ActiveCell = Month(Date) < Month("01/01/" & Year(Date)) Then

par

    datetest = ActiveCell
    If Month(datetest) = 1 Then

c'est beaucoup plus clair et tu es certain de tester si le mois de la cellule ActiveCell = 1

A plus sur le forum

    datetest = ActiveCell
    If Month(datetest) = 1 Then

c'est beaucoup plus clair et tu es certain de tester si le mois de la cellule ActiveCell = 1

A plus sur le forum

merci tu as résolu mon problème

peux-tu m'expliquer a quoi correspond le activecell ? et que signifie " =1 "?

merci pour tous

Bonjour

c'est très simple activecell , comme son nom l'indique signifie cellule sélectionnée (cellule active si tu préfère)

et 1 est le numéro du mois de janvier (si tu veux tester sur mars utilise 3)

si ça peut t'aider un peu je t'ai fait un petit panel la dessus dans une macro 'macrotest' sur la feuille 3

sinon il y a sur ce site d’excellentes formations gratuite VBA et VBA avancé qui pourront t'aider à progresser en douceur

et puis si tu as besoin d'aide ou d’explication n’hésite pas

A plus sur le forum

6eerrg-3.xlsm (51.17 Ko)
Rechercher des sujets similaires à "condition boucle dernier personne inscrit"