Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 [Résolu] Copie de cellules à positions aléatoires

bubl

XLDnaute Nouveau
Bonjour à tous,

Ci joint un fichier planning.

Je souhaiterais faire des "copier-coller- Valeurs" à partir des cellules variables (ligne 9 de la Feuil1)

Dans l'exemple, la première cellule à copier est la AI9, jusqu'à celle qui précède la suivante non vide AW9 (A noter que ce sont des cellules fusionnées entre lesquelles se trouvent 2 non-fusionnées pour le samedi et le dimanche).
La seconde à coller serait la BD9 jusque la DV9...et ce, jusqu'à la fin du tableau.

Vous remerciant par avance
 

Pièces jointes

  • Classeur1.zip
    262.3 KB · Affichages: 16

Rouge

XLDnaute Impliqué
Bonjour,

Si j'ai bien compris, j'ai mis un bouton en colonne Z pour exécuter ce que vous avez demandé. Il s'agit d'un code basique, qui ne fait rien que recopier la cellule AI9 aux endroits demandés.
Comme vous n'avez pas préciser ce qui devait se passer dans le cas ou l'on clique une deuxième fois sur ce bouton, je n'ai pas mis d'alerte qui interdise une deuxième action de renouveler l'opération sur les autres cellules vides qui précèdent une cellule pleine.

Cdlt
 

Pièces jointes

  • bubl_Copie de cellules à positions aléatoires.xlsm
    695 KB · Affichages: 4

bubl

XLDnaute Nouveau
Merci d'avoir pris du temps pour mon problème.
La première Copie de la Cellule AI9 jusqu'à la cellule suivante pleine, c'est ok.

Ce que je souhaiterais, c'est que le processus ce reproduise avec les cellules suivantes qui portent le nom de "test de copie 1er élément" -1- puis "test de copie 2eme élément"-2- et qui ne seraient pas toujours à la même position sur la ligne....(voir fichier Maj)
Cela ressemblerait à ça

Cdt

 

Pièces jointes

  • bubl_Copie de cellules à positions aléatoires (1).xlsm
    714.1 KB · Affichages: 2

Rouge

XLDnaute Impliqué
Alors ceci, remplacez la macro précédente par celle-ci
VB:
Sub Recopie()
    Dim DerCol As Long, i As Long
    Application.ScreenUpdating = False
    DerCol = Range("XFD9").End(xlToLeft).Column
    CellVal = Cells(9, 35)
    For i = 42 To DerCol Step 7
        If Cells(9, i) = "" Then Cells(9, i) = CellVal Else: CellVal = Cells(9, i)
    Next i
End Sub
 

bubl

XLDnaute Nouveau
Merci ça fonctionne bien, mais il semble que la copie s'arrête.
Il y a en effet une valeur sur la cellule EC9 qui ne profite pas de la copie jusqu'à la fin du tableau en cellule FI9 ?

Merci encore
 

bubl

XLDnaute Nouveau
Merci beaucoup Rouge.
Ca fonctionne à merveille!
J'avais des colonnes en trop qui ne respectaient pas le pas de 7. La copie se faisait donc dans les colonnes masquées.
Désolé.

Bonne soirée
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…