Faire une macro pour remplir les cellules d'une colonne automati
painghou
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite dans une macro copier une formule dans les cellules d'une colonne "J" , uniquement si la cellule de la colonne "I" à gauche est non vide.
Et ce jusqu' à la dernière ligne remplie de la colonne "I".
Merci d'avance.
Je souhaite dans une macro copier une formule dans les cellules d'une colonne "J" , uniquement si la cellule de la colonne "I" à gauche est non vide.
Et ce jusqu' à la dernière ligne remplie de la colonne "I".
Merci d'avance.
A voir également:
- Faire une macro pour remplir les cellules d'une colonne automati
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel pour additionner plusieurs cellules - Guide
- Colonne word - Guide
4 réponses
Bonjour,
A+
Sub CopieMaFormule()
Dim LigneDebut As Byte
Dim LigneFin As Long, Ligne As Long
Dim MaFormule As String
'Nom de la feuille (à adapter)
With Worksheets("Feuil1")
'Numéro de la première ligne de la plage à traiter
LigneDebut = 2
'Numéro de ligne de la dernière cellule renseignée dans la plage à traiter
LigneFin = .Range("I" & Rows.Count).End(xlUp).Row
'Formule à copier
MaFormule = "=TODAY()"
'Boucle sur la plage à traiter
For Ligne = LigneDebut To LigneFin
'Si la cellule de la colonne I n'est pas vide
If Not IsEmpty(.Range("I" & Ligne)) Then
'Copie la MaFormule dans la colonne J
.Range("J" & Ligne).Formula = MaFormule
End If
Next Ligne
End With
End Sub
A+
Bonjour,
Je veux faire autrement dans la macro de base j'appelle la macro suivante :
Sub formule()
'
'Copier la formule qui affiche le le libellé du code défaut
'
Dim calcul As Long
' Étiquette la ligne indiquant le haut de la boucle
Top:
' Teste pour voir si la première cellule est vide
If IsEmpty(ActiveCell) Then Exit Sub
ActiveCells = calcul
' Copie la formule
Sheets("Menu").Select
Range("J2").Select
Selection.Copy
'Coller la formule
Sheets("Defaut").Select
calcul
ActiveSheet.Paste
' Passe à la cellule suivant 1 ligne en dessous et une colonne à gauche
ActiveCell.Offset(-1, -1).Select
' Teste pour voir si la nouvelle cellule est vide.
If Not IsEmpty(ActiveCell) Then GoTo Top
End Sub
Je ne sais pas :
- calcul étant le repère d'une cellule (ex : I4), je ne sais pas comment dimensionner calcul
- je ne sait pas comment appeler "calcul" au moment voulu pour activer la position de la cellule mémorisée
- Je ne suis pas sûr de la façon dont il faille décaler ensuite de une ligne en dessous et d'une case à gauche.
Merci d'avance.
Je veux faire autrement dans la macro de base j'appelle la macro suivante :
Sub formule()
'
'Copier la formule qui affiche le le libellé du code défaut
'
Dim calcul As Long
' Étiquette la ligne indiquant le haut de la boucle
Top:
' Teste pour voir si la première cellule est vide
If IsEmpty(ActiveCell) Then Exit Sub
ActiveCells = calcul
' Copie la formule
Sheets("Menu").Select
Range("J2").Select
Selection.Copy
'Coller la formule
Sheets("Defaut").Select
calcul
ActiveSheet.Paste
' Passe à la cellule suivant 1 ligne en dessous et une colonne à gauche
ActiveCell.Offset(-1, -1).Select
' Teste pour voir si la nouvelle cellule est vide.
If Not IsEmpty(ActiveCell) Then GoTo Top
End Sub
Je ne sais pas :
- calcul étant le repère d'une cellule (ex : I4), je ne sais pas comment dimensionner calcul
- je ne sait pas comment appeler "calcul" au moment voulu pour activer la position de la cellule mémorisée
- Je ne suis pas sûr de la façon dont il faille décaler ensuite de une ligne en dessous et d'une case à gauche.
Merci d'avance.
Bonjour Painghou,
Plutôt que t'évertuer à exposer ce qui ne marche pas, il serait préférable que tu expliques ce que tu souhaites obtenir comme résultat.
Pour cela, le plus simple est de joindre un fichier avec quelques explications.
https://www.cjoint.com/
A+
Plutôt que t'évertuer à exposer ce qui ne marche pas, il serait préférable que tu expliques ce que tu souhaites obtenir comme résultat.
Pour cela, le plus simple est de joindre un fichier avec quelques explications.
https://www.cjoint.com/
A+