Copier/coller les cellules non vides

Bonjour à tous et à toutes

J'ai eu beau passer des heures pour chercher une solution mais rien n'a marché, alors me voilà

J'ai un tableau dans lequel il y a plusieurs colonnes de A à KX.

Ma formule se trouve dans la cellule C1. Je souhaiterais simplement copier cette formule sur la même ligne de toutes les autres colonnes, c-a-d les cellules E1, G1, I1...

Le problème c'est que j'ai toujours une colonne vide entre les 2 colonnes non vides (une mise en page imposée par mon chef), par exemple entre les colonnes A et C, la colonne B est vide.

J'ai essayé de faire un collage spécial - blancs non compris mais ça n'a pas marché...J'ai tenté d'enregistrer un macro mais toujours sans succès...

Vous trouverez ci-joint mon tableau.

Merci d'avance

31ex.xlsx (24.99 Ko)

Bonsoir,

Essaie avec ce code :

Sub copier_formule()
Dim I As Integer
Application.ScreenUpdating = False
For I = 5 To 309 Step 2
    Cells(1, I).FormulaR1C1 = Cells(1, 3).FormulaR1C1
Next I
End Sub

Bon courage

bonjour,

une formule à mettre en C1, à tirer vers le bas

=DECALER(nom de la feuille où chercher les données!$A1;0;(COLONNE()-1)/2)

puis sélectionner les colonnes C et D et les recopier vers la droite

cousinhub a écrit :

Bonsoir,

Essaie avec ce code :

Sub copier_formule()
Dim I As Integer
Application.ScreenUpdating = False
For I = 5 To 309 Step 2
    Cells(1, I).FormulaR1C1 = Cells(1, 3).FormulaR1C1
Next I
End Sub

Bon courage

ça marche nickel! merci de votre aide!

Par contre quand j'ai mis ce code dans un autre fichier excel avec la même mise en page (toujours une colonne vide entre les 2 colonnes non vides), ça n'a pas marché

J'essaie quand même de comprendre votre code : à quoi ça sert l'argument "For I = 5 To 309 Step 2"? Je souhaite l'adapter à mes fichiers Excel parce que je dois faire ce collage très souvent.

Merci d'avance


h2so4 a écrit :

bonjour,

une formule à mettre en C1, à tirer vers le bas

=DECALER(nom de la feuille où chercher les données!$A1;0;(COLONNE()-1)/2)

puis sélectionner les colonnes C et D et les recopier vers la droite

j'ai fait exactement ce que vous avez dit, maintenant il m'affiche #VALEUR dans les résultats de calcul

Merci quand même de votre réponse!

Bonjour,

La première ligne de code :

For I = 5 To 309 Step 2

signifie qu'on va incrémenter la variable I de 5 à 309, par pas de 2 (soit 5, 7, 9......309)

Ces numéros correspondront ensuite à des numéros de colonne

5 : Colonne E (soit la 5ème colonne)

309 : colonne KW (soit la dernière colonne utilisée de ton fichier)

donc :

Cells(1, I).FormulaR1C1 = Cells(1, 3).FormulaR1C1

De la cellule E1 à la cellule KW1, on va mettre la même formule que la cellule C1

Bon W-E

Rechercher des sujets similaires à "copier coller vides"