OVH Cloud OVH Cloud

Selection d'une plage si une cellule n'est plus vide

2 réponses
Avatar
Mazava
Bonjour =E0 tous

J'ai un tableau que je voudrais remplir par macro avec une=20
formule qui se trouve en G1.
Cette macro doit se declencher =E0 chaque fois que la 1=E8re=20
ligne de l'une des colonnes "A" =E0 "F" n'est plus vide=20
(remplissage 1 fois par semaine: je mets "X" pour indiquer=20
que la colonne est =E0 traiter)=20
En fait elle copie la formule en G1 et doit la coller de=20
la 2=E8me ligne =E0 la 100=E8me ligne de la colonne concern=E9e.

Ex: A B C D E F G

Ligne 1 X X formule=20
Ligne 2 4 12
Ligne... .. ..
Ligne 100 7 5

Mon probl=E8me est que je ne trouve pas le code pour=20
selectionner la plage(2,100) vu que les colonnes sont=20
variables

Si quelqu'un peut me donner une piste

Merci

a+
=20

2 réponses

Avatar
Michel HOLDERITH
Salut,
une premiere approche :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Range("A1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("A1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("A1:A100")
End With
End If
If Range("B1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("B1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("B1:B100")
End With
End If
If Range("C1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("C1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("C1:C100")
End With
End If
If Range("D1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("D1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("D1:D100")
End With
End If
If Range("E1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("E1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("E1:E100")
End With
End If
If Range("F1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("F1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("F1:F100")
End With
End If
End Sub
@+
Michel.

"Mazava" wrote in message
news:025901c3aa98$85d14060$
Bonjour à tous

J'ai un tableau que je voudrais remplir par macro avec une
formule qui se trouve en G1.
Cette macro doit se declencher à chaque fois que la 1ère
ligne de l'une des colonnes "A" à "F" n'est plus vide
(remplissage 1 fois par semaine: je mets "X" pour indiquer
que la colonne est à traiter)
En fait elle copie la formule en G1 et doit la coller de
la 2ème ligne à la 100ème ligne de la colonne concernée.

Ex: A B C D E F G

Ligne 1 X X formule
Ligne 2 4 12
Ligne... .. ..
Ligne 100 7 5

Mon problème est que je ne trouve pas le code pour
selectionner la plage(2,100) vu que les colonnes sont
variables

Si quelqu'un peut me donner une piste

Merci

a+
Avatar
Mazava
Salut

Merci pour la piste.Je pense que c'est ce qu'il me faut

A+

Mazava
-----Message d'origine-----
Salut,
une premiere approche :
Private Sub Workbook_SheetChange(ByVal Sh As Object,
ByVal Target As Range)

If Range("A1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("A1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("A1:A100")
End With
End If
If Range("B1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("B1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("B1:B100")
End With
End If
If Range("C1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("C1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("C1:C100")
End With
End If
If Range("D1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("D1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("D1:D100")
End With
End If
If Range("E1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("E1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("E1:E100")
End With
End If
If Range("F1").Value = "" Then
Else
formule = Range("G1").FormulaLocal
Range("F1").Select
With Selection
.FormulaLocal = formule
.AutoFill Destination:=Range("F1:F100")
End With
End If
End Sub
@+
Michel.

"Mazava" wrote in
message

news:025901c3aa98$85d14060$
Bonjour à tous

J'ai un tableau que je voudrais remplir par macro avec une
formule qui se trouve en G1.
Cette macro doit se declencher à chaque fois que la 1ère
ligne de l'une des colonnes "A" à "F" n'est plus vide
(remplissage 1 fois par semaine: je mets "X" pour indiquer
que la colonne est à traiter)
En fait elle copie la formule en G1 et doit la coller de
la 2ème ligne à la 100ème ligne de la colonne concernée.

Ex: A B C D E F G

Ligne 1 X X formule
Ligne 2 4 12
Ligne... .. ..
Ligne 100 7 5

Mon problème est que je ne trouve pas le code pour
selectionner la plage(2,100) vu que les colonnes sont
variables

Si quelqu'un peut me donner une piste

Merci

a+



.