Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/09/2011, 14h29   #1
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : septembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Macro pour recopie de formule particulier

Bonjour à tous,

Je pense que vous allez trouver ça simple mais voici un petit fichier pour m'expliquer. En fait, il y a une macro déjà présente qui insère une ligne à chaque fois que l'on clique sur le bouton que j'ai shématisé ici en rouge. La ligne insérée est tout le temps à l'emplacement 9. Le problème c'est que je voudrais qu'a chaque fois que j'insère une ligne les formules G10, H10, I10, J10 et K10 soient prolongées sur la nouvelle ligne 9 automatiquement. Je n'arrive pas à le faire simplement est ce que quelqu'un aurait un code VBA qui marcherait bien?

Autre question, puis je insérer ce code à la suite de la macro nouvelle ligne qui existe déjà ou dois je créer une nouvelle macro? Merci de votre aide et bonne journée!
Fichiers attachés
Type de fichier : xls Macro1.xls (21,0 Ko, 4 affichages)
jul123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 16h35   #2
Membre régulier
 
Femme
Inscription : septembre 2011
Messages : 86
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : septembre 2011
Messages : 86
Points : 75
Points : 75
Par défaut Une petite piste

Bonjour Jul123 ,

Tu dois pouvoir mettre le code à la suite de ta première macro.

Je pense que tu dois traiter les cellules une par une.

Code :
1
2
3
 
    Range("G9").Select 'cellule dans laquelle tu veux mettre ta formule
    ActiveCell.FormulaR1C1 = "=R[-2]C+R[-1]C" 'réécris la formule qui va bien
Fais cela pour les 5 cellules (G9, H9 I9 J9 et K9). Mais il faut être sûr que ta nouvelle ligne sera toujours la même (n°9).

Vérifie que la formule reste qd tu rajoutes une autre ligne
Cocotte278 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 16h47   #3
Membre actif
 
Inscription : novembre 2008
Messages : 188
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 188
Points : 194
Points : 194
Bonjour,

J'ai pas testé mais ça devrait faire ce que tu veux:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Dim myRange, myCell As Range
 
Set myRange = Range("G9:K9")
 
For Each myCell In myRange
 
    myCell.FormulaR1C1 = myCell.Offset(1, 0).FormulaR1C1   'si tu n'es pas en coordonnées de type R1C1 ça risque de ne pas faire ce que tu veux donc essaie alors d'utiliser la méthode PasteSpecial pour copier/coller la formule
 
Next myCell
 
Set myCell = Nothing
Set myRange = Nothing
Tu peux placer ça après le bout de code qui insère la ligne 9.
Sclarckone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h44.


 
 
 
 
Partenaires

Hébergement Web