Boucle pour compléter un tableau

babas

XLDnaute Junior
Bonjour à tous,

Je coince sur la création de ma macro.
Je vous explique mon souci.

Sur une feuille j'ai des données, je voudrais venir récupérer ces données pour les intégrer sur une autre feuille.
Les données à récupérer sont sur la feuille "Rlt", elles doivent être ramenées sur la feuille "A" de la façon suivante :
Sur la feuille A, (M4) doit récupérer (M3) de la feuille Rlt. (M5) doit récupérer (M4). idem pour les colonnes suivantes.
Sachant que lorsque nous arrivons à la dernière colonne sur la feuille Rlt, on reprend du début…
J'ai fait une macro qui ne fait pas du tout le job et je ne vois pas pourquoi...

Voici ce que je voudrais
Sans titre.png

J'ai peur de ne pas être clair du tout, il est un peu tard…

Si l'un d'entre vous trouve une solution :)

Merci d'avance,

Bonne nuit,
Bonne journée
 

Pièces jointes

  • Sans titre.png
    Sans titre.png
    54.4 KB · Affichages: 23
  • exemple1.xlsm
    57.3 KB · Affichages: 11
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Babas,
Votre code ne peut pas marcher car les ForNext sont mal imbriqués.
Au premier cycle tant que y<196 et x<nblign alors a et b ne bougent pas ( a=3, b=13 )
Or il faut recalculer a et b en permanence.

Un essai pour voir si j'ai bien tout compris :
VB:
Sub Rlt_2()
nblign = Sheets("A").Range("A1")    'ligne max
nblign2 = Sheets("Rlt").Range("L4") 'ligne max rlt
dercol = Sheets("Rlt").Range("L5")  'dernière colone rlt
With Sheets("A")
    a = 2: b = 12                   ' a et b init avec -1 car +1 en entrant dans le cycle
    For y = 13 To 196               'donne l'adresse des colonnes
        b = b + 1
        If b = dercol + 1 Then b = 13
        For x = 4 To nblign         'donne l'adresse des lignes sur la feuille roulements calendrier
            a = a + 1
            If a = nblign2 + 1 Then a = 3
            .Cells(x, y) = Sheets("Rlt").Cells(a, b)
        Next x
    Next y
End With
End Sub
 

fanfan38

XLDnaute Barbatruc
Bonjour
Je me suis permis de tout changer...
Sur la feuille roulement tu as le roulement type par personne
Sur la feuille planning si tu changes l'année tout se met à jour...
En fait calcul en fonction de la date
Je divise la date par le nombre de roulement...
et je vais chercher la cellule correspondante sur la feuille roulement avec la fonction decaler...
A+ François
Salut Sylvanu
 

Pièces jointes

  • planning1.xlsx
    56.7 KB · Affichages: 7

babas

XLDnaute Junior
Merci à vous deux. La solution de @fanfan38 est intéressante mais je ne vous ai transmis qu'un aperçu du programme et par conséquent elle est trop compliquée pour être intégrée à l'ensemble des autres feuilles.

Une question que je me suis posé ce matin, est-il possible de faire deux 'Next' en même temps afin d'augmenter de 1 chaque référence. J'ai bien saisi que la proposition de @sylvanu correspond à ceci mais tourné différemment.

Encore merci, je teste cette nuit.

Bon fin de dimanche
 

Discussions similaires

Statistiques des forums

Discussions
312 078
Messages
2 085 108
Membres
102 779
dernier inscrit
wrond