Windows | Windows Server | Active directory | Exchange | SharePoint | SCCM | SCOM | Hyper-V | App-V
ACCUEIL Facebook Twitter Linked In Viadeo Flux RSS
Astuces suivantes

Astuces précédentes
Comment protéger par mot de passe un fichier Excel ?
Renommer une série de fichiers à la volée - Windows 8.1
Astuce pour travailler plus rapidement sur Windows
Mise à jour des produits Microsoft (Février 2015)
Internet: retrouver un onglet fermé par erreur


Publié le : 15/06/2011 14:05:48
Mise à jour le : 05/05/2011 15:47:34
Catégories :


Version imprimable

Auteur(s)

Excel : copiez une cellule à intervalles réguliers


Si, dans une feuille de calcul, vous voulez recopier une cellule sur ses voisines de droite, mais seulement une colonne sur trois, voici comment faire.

En d'autres termes, la cellule B3, par exemple, devra être dupliquée sur les cellules E3, H3, K3… sans modifier les autres. Vous pouvez y parvenir en créant une macro.

– Pour cela, tapez Alt + F11 pour ouvrir l'éditeur VBA.
– Déroulez le menu Insertion, Module puis saisissez le listing ci-dessous.
– Revenez à Excel. Avant de lancer la macro, inscrivez le mot FIN dans la cellule où la copie doit s'arrêter. Si, par exemple, la macro doit copier B3 en E3, H3 et K3, vous inscrirez FIN en N3.
– Placez le pointeur sur la cellule source (B3), tapez Alt + F8, sélectionnez CopieAvecTrous et cliquez sur Exécuter. Vous pouvez changer la valeur de la variable Ecart (Ecart = 4 par exemple) pour modifier la périodicité des copies (et passer à une colonne sur quatre).

Par ailleurs, si, dans les deux instructions Offset(0,Ecart), vous permutez 0 et Ecart, la copie se fera vers le bas et non plus vers la droite. Dans ce cas aussi, n'oubliez pas d'inscrire FIN dans la cellule où la copie doit s'arrêter.

Sub CopieAvecTrous ()
Ecart = 3
ActiveCell.Copy
ActiveCell.Offset(0, Ecart).Select
While UCase(ActiveCell.Value) <> "FIN"
ActiveSheet.Paste
ActiveCell.Offset(0, Ecart).Select
Wend
End Sub   (Source 01 net)