Tabernacle ! Si tu tiens à te faire rhabiller pour l'hiver, aucun souci !
Déjà ma réponse était pour démontrer l'inutilité d'une boucle car souvent les débutants partent … loin !
Tu es débutant en VBA, certes, mais tu dois avoir les bases en Excel !
Qui plus est elle démontre surtout l'inutilité même d'un code VBA !
Car une simple formule de calculs peut être utilisée pour remplir la vingtaine de cellules ‼
Donc la question est : pourquoi un code ?
Je me suis demandé si ce n'était pas un devoir d'étudiant forcé à utiliser une boucle pour un exercice d'algorithmie …
C'est pour cela que je n'ai pas suivi cette voie, de toute manière ce serait hors cadre du forum (voir ses règles),
et tout à fait inutile dans une logique excelienne ! Il n'y avait donc aucun humour …
En s'intéressant à la procédure Demo2, à la formule utilisée pour la matrice des colonnes puis en jetant un œil
à ton propre classeur joint dans le post #3, tu aurais compris même qu'un saut de trois colonnes est aussi inutile !
Demo2 répondant juste à ta demande de sauter trois colonnes mais on peut faire sans et plus simple,
ce que évidemment j'ai gardé sous le coude avec le nombre de colonnes variables, il ne faut pas plus de lignes de code,
attendant donc ta réponse … Vu cette dernière,
je me limite donc à t'indiquer de consulter l'aide VBA de CurrentRegion, UsedRange et de End(xlToRight) …
Sans compter la :faq: ou un tutoriel à disposition sur ce forum traitant ce sujet !
L'autre raison est j'ai essayé de suivre ta logique avec ton code et ton classeur joint : aïe aïe aïe ‼
Le classeur ne correspond pas au code ou il manque des zones devant être renseignées pour le bon fonctionnement !
Bref du genre sans aucune explication démerdez-vous !
En se conformant juste à la présentation initiale succincte, EcartDate n'est pas utile
ou sinon cela demande une explication digne de ce nom, claire & exhaustive, avec tenants et aboutissants …
Si vraiment tu as besoin absolument d'une boucle, hier un collégien de passage au bureau en jetant un œil
par dessus mon épaule en voyant ton classeur m'a demandé « C'est pour quoi faire ? »
Après lui avoir expliqué, malgré que lui non seulement il ne connaît pas le VBA mais qui plus est pas du tout Excel,
je vais te traduire sa logique imparable !
• C = 5 (n° de colonne)
• L = 48 (n° de ligne)
Au sein d'une boucle (Do … Loop voir l'aide VBA, le Do si la cellule de la ligne n°38 de la colonne de la variable C n'est pas vide) :
• La cellule de la ligne de la variable L de la colonne E = la cellule de la ligne n°38 de la colonne de la variable C
• C = C + 3
• L = L + 1
Voilà rien besoin d'autre, pas compliqué, tout droit sorti de l'esprit d'un gamin - normal, pas un génie - de 12 ans !
Peut pas faire plus simple et le tout en moins de dix lignes de code …