Formule et application VBA
cecile
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je commence juste à me lancer dans VBA et après pas mal de recherches je bloque sur un point....ma question est sans doute bête mais je vais essayé d'expliquer tout ca clairement...
Je voudrais savoir comment formuler un code en VBA tel que le nombre de lignes où un calcul s'effectue s'adapte automatiquement:
Je m'explique: dans ma feuille "calcul" ma colonne D contient une formule qui calcule à partir de la valeur de la colonne A (de la même ligne). Le nombre de lignes de la colonne A varie selon les cas. Je souhaiterais que la colonne D contiennent automatiquement le même nombre de ligne que la colonne A et que la formule soit active sur toutes ces lignes.
Voici l'essai que j'ai fais mais il ne fonctionne pas...
Sheets("calcul").Activate
Range("D1").AutoFill Destination:=Range("D1:D" & Range("A5000").End(xlUp).Row)
Range("D1").Select
End Sub
Un grand merci à ceux qui pourront m'aider...
Cécile
Je commence juste à me lancer dans VBA et après pas mal de recherches je bloque sur un point....ma question est sans doute bête mais je vais essayé d'expliquer tout ca clairement...
Je voudrais savoir comment formuler un code en VBA tel que le nombre de lignes où un calcul s'effectue s'adapte automatiquement:
Je m'explique: dans ma feuille "calcul" ma colonne D contient une formule qui calcule à partir de la valeur de la colonne A (de la même ligne). Le nombre de lignes de la colonne A varie selon les cas. Je souhaiterais que la colonne D contiennent automatiquement le même nombre de ligne que la colonne A et que la formule soit active sur toutes ces lignes.
Voici l'essai que j'ai fais mais il ne fonctionne pas...
Sheets("calcul").Activate
Range("D1").AutoFill Destination:=Range("D1:D" & Range("A5000").End(xlUp).Row)
Range("D1").Select
End Sub
Un grand merci à ceux qui pourront m'aider...
Cécile
A voir également:
- Formule et application VBA
- Formule si et - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Desinstaller application windows - Guide
- Application word et excel gratuit - Guide
1 réponse
Bonjour,
Sub test2()
With Worksheets("calcul")
'Derniere ligne Colonne A
D_L_A = .Range("A" & Rows.Count).End(xlUp).Row
'Derniere ligne Colonne D
D_L_D = .Range("D" & Rows.Count).End(xlUp).Row
If D_L_A < D_L_D Then
'Effacement des lignes Colonne D en plus des lignes Colonne A
.Range("D" & D_L_A + 1 & ":D" & D_L_D).Clear
Else
'Ecriture Colonne D1 a DD_L_A (D_L_A Nombre de lignes Colonne A)
Set SourceRange = .Range("D1")
Set fillRange = .Range("D1:D" & D_L_A)
SourceRange.AutoFill Destination:=fillRange
End If
End With
End Sub
Bonne suite
Sub test2()
With Worksheets("calcul")
'Derniere ligne Colonne A
D_L_A = .Range("A" & Rows.Count).End(xlUp).Row
'Derniere ligne Colonne D
D_L_D = .Range("D" & Rows.Count).End(xlUp).Row
If D_L_A < D_L_D Then
'Effacement des lignes Colonne D en plus des lignes Colonne A
.Range("D" & D_L_A + 1 & ":D" & D_L_D).Clear
Else
'Ecriture Colonne D1 a DD_L_A (D_L_A Nombre de lignes Colonne A)
Set SourceRange = .Range("D1")
Set fillRange = .Range("D1:D" & D_L_A)
SourceRange.AutoFill Destination:=fillRange
End If
End With
End Sub
Bonne suite