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

VBA - Répéter une formule sur chaque ligne

  • Initiateur de la discussion Initiateur de la discussion Arianels
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Arianels

Guest
Bonjour,

Je cherche à répéter cette formule sur toutes les lignes remplies de ma feuille excel... Comment faire ?

Merci d'avance pour votre aide !


Sub Copier()

If Range("h11") = 1 Then Range("J11") = Now()

If Range("h11") <> 1 Then
Range("B11:G11").Select
Selection.Copy
Range("B11").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
ActiveSheet.Paste
End If


End Sub
 
Re : VBA - Répéter une formule sur chaque ligne

Bonjour!
je suis juste de passage, donc voici une piste:
au lieu des Range("h11") J11 B11 et G11
tu écris:
Range("H" &i)

et tu fais une boucle sur i
for i=11 to derniereligne 'derniereligne=indice de la derniere ligne de ton fichier
if range("h"&i)<>"" then
'tout ton code
end if
next i

Voila ;-) courage eet n'hesite pas a redemander de l'aide
ps😛oste un fichier exemple, ca aidera a t'aider ;-)

ps2: j'ai un doute quant à la syntaxe pour le range
 
Re : VBA - Répéter une formule sur chaque ligne

Je n'y arrive pas du tout... (enfin si, mais ça m'a copié ma première ligne jusqu'en bas...)

Voilà mon fichier ci-joint : je souhaite que si dans la colonne "avancement", nous ne sommes pas à 100%, que la ligne entière se recopie en fin de la liste de TO DO, etc, etc, pour toutes les lignes.

Une fois que l'avancement est rentré à 100%, je voudrais que la date de fin réelle se mette au jour automatiquement...

Merci encore pour votre aide !
 

Pièces jointes

Re : VBA - Répéter une formule sur chaque ligne

Bonjour,

si j'ai bien compris:
Code:
Dim plage As Range 'Plage de toutes les lignes et colonne du tableau A11:A...
Dim r As Range 'Représente la ligne parcourue du tableau
With Feuil1 'Travailler sur la feuille 1
    
    Set plage = .Range("B11:J" & .Range("B" & Rows.Count).End(xlUp).Row)
    For Each r In plage.Rows 'Pour chaque ligne de la plage
        
        If r.Cells(1, 7).Value = 1 Then 'si la cellule de la septième colonne = 1
            r.Cells(1, 9) = Date 'mettre la date du jour dans la neuvième colonne
        Else
            'sinon copier toute la ligne sous le tableau
            r.Copy .Range("B" & .Rows.Count).End(xlUp).Offset(1)
        End If
    Next
    Application.CutCopyMode = xlCopy
End With


A+
 
Dernière modification par un modérateur:
Re : VBA - Répéter une formule sur chaque ligne

Re,

Supprimer la ligne : Debug.Print r.Cells(1, 7).Value, r.Cells(1, 7).Address

Qui était là à fin de tests.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
375
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…