Bjr,
j'utilise le code suivant pour copier vers le bas une=20
formule, mais le probl=E8me est que des fois il se peut que=20
la fin soit juste une ligne et donc la macro plante.
De plus existe t il une autre formule pour copier qui=20
serait plus rapide que celle ci car je la trouve lourde et=20
peu rapide.
Merci d'avance.
Le code :
'ici on demasque tout
Cells.Select
Selection.EntireRow.Hidden =3D False
Range("B6:Z256").delete
'masque les champs en dessous des Isin
Cells(65536, 1).Select
Selection.End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Hidden =3D True
'met la formule security name dans la cellule B6 et l'=E9tire
Range("B6").Select
ActiveCell.FormulaR1C1 =3D "=3Dblp(RC[-
1],""Security_Name"")"
Selection.AutoFill Destination:=3DRange(Selection,=20
Selection.End(xlDown)), Type:=3DxlFillDefault
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Gaboly
Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End(xlDown)).EntireRow.Hidden = True End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[-1], ""Security_Name"")" .AutoFill Destination:=Range(.Offset(0), .End(xlDown)), Type:=xlFillDefault End With
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire Range("B6").Select ActiveCell.FormulaR1C1 = "=blp(RC[- 1],""Security_Name"")" Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown)), Type:=xlFillDefault
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range
'ici on demasque tout
Cells.EntireRow.Hidden = False
Range("B6:Z256").Delete
'masque les champs en dessous des Isin
Set Ref = Cells(65536, 1).End(xlUp).Offset(3)
With Ref
Range(.Offset(0), .End(xlDown)).EntireRow.Hidden = True
End With
Set Ref = Range("B6")
With Ref
.FormulaR1C1 = "=blp(RC[-1], ""Security_Name"")"
.AutoFill Destination:=Range(.Offset(0), .End(xlDown)), Type:=xlFillDefault
End With
Bjr,
j'utilise le code suivant pour copier vers le bas une
formule, mais le problème est que des fois il se peut que
la fin soit juste une ligne et donc la macro plante.
De plus existe t il une autre formule pour copier qui
serait plus rapide que celle ci car je la trouve lourde et
peu rapide.
Merci d'avance.
Le code :
'ici on demasque tout
Cells.Select
Selection.EntireRow.Hidden = False
Range("B6:Z256").delete
'masque les champs en dessous des Isin
Cells(65536, 1).Select
Selection.End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Hidden = True
'met la formule security name dans la cellule B6 et l'étire
Range("B6").Select
ActiveCell.FormulaR1C1 = "=blp(RC[-
1],""Security_Name"")"
Selection.AutoFill Destination:=Range(Selection,
Selection.End(xlDown)), Type:=xlFillDefault
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End(xlDown)).EntireRow.Hidden = True End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[-1], ""Security_Name"")" .AutoFill Destination:=Range(.Offset(0), .End(xlDown)), Type:=xlFillDefault End With
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire Range("B6").Select ActiveCell.FormulaR1C1 = "=blp(RC[- 1],""Security_Name"")" Selection.AutoFill Destination:=Range(Selection, Selection.End(xlDown)), Type:=xlFillDefault
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Mesa
J'ai toujours mon pb qui veut que quand je n'ai qu'une ligne la macro bug car la selection ne trouve pas le xldown, peut on enlever ce type d'alerte ? Ou existe t il un moyen de virer ce problème. Merci d'avance pour ce pb et un gros merci pour le 1er ! @+ Eric
-----Message d'origine----- Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End (xlDown)).EntireRow.Hidden = True
End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[- 1], ""Security_Name"")"
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que
la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et
peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire
J'ai toujours mon pb qui veut que quand je n'ai qu'une
ligne la macro bug car la selection ne trouve pas le
xldown, peut on enlever ce type d'alerte ? Ou existe t il
un moyen de virer ce problème.
Merci d'avance pour ce pb et un gros merci pour le 1er !
@+ Eric
-----Message d'origine-----
Bonjour,
Il faut éliminer tous les Select inutiles, qui
ralentissent le traitement :
Dim Ref As Range, Ref2 As Range
'ici on demasque tout
Cells.EntireRow.Hidden = False
Range("B6:Z256").Delete
'masque les champs en dessous des Isin
Set Ref = Cells(65536, 1).End(xlUp).Offset(3)
With Ref
Range(.Offset(0), .End
(xlDown)).EntireRow.Hidden = True
End With
Set Ref = Range("B6")
With Ref
.FormulaR1C1 = "=blp(RC[-
1], ""Security_Name"")"
Bjr,
j'utilise le code suivant pour copier vers le bas une
formule, mais le problème est que des fois il se peut
que
la fin soit juste une ligne et donc la macro plante.
De plus existe t il une autre formule pour copier qui
serait plus rapide que celle ci car je la trouve lourde
et
peu rapide.
Merci d'avance.
Le code :
'ici on demasque tout
Cells.Select
Selection.EntireRow.Hidden = False
Range("B6:Z256").delete
'masque les champs en dessous des Isin
Cells(65536, 1).Select
Selection.End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Hidden = True
'met la formule security name dans la cellule B6 et
l'étire
J'ai toujours mon pb qui veut que quand je n'ai qu'une ligne la macro bug car la selection ne trouve pas le xldown, peut on enlever ce type d'alerte ? Ou existe t il un moyen de virer ce problème. Merci d'avance pour ce pb et un gros merci pour le 1er ! @+ Eric
-----Message d'origine----- Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End (xlDown)).EntireRow.Hidden = True
End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[- 1], ""Security_Name"")"
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que
la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et
peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire
Est il possible de modifier la formule sur le .End(xlDown) pour faire .End(xldown)-1 pour que ça remonte d'une cellule ? Dans ce cas il me suffit de modifier le offset et de le mettre à 2 au lieu de 1 et hop plus de soucis. @+ Eric
Est il possible de modifier la formule sur le
.End(xlDown) pour faire .End(xldown)-1 pour que ça remonte
d'une cellule ? Dans ce cas il me suffit de modifier le
offset et de le mettre à 2 au lieu de 1 et hop plus de
soucis.
@+ Eric
Est il possible de modifier la formule sur le .End(xlDown) pour faire .End(xldown)-1 pour que ça remonte d'une cellule ? Dans ce cas il me suffit de modifier le offset et de le mettre à 2 au lieu de 1 et hop plus de soucis. @+ Eric
padbra
Salut, J'ai eu le meme genre de probleme que j'ai contourne de la maniere suivante :
<code> If (WorksheetFunction.CountA(tbe.Columns(1)) = 1) Then 'j'utilise ca car je ne connait pas l'equivalent en VBA Set cellule = tbe.Cells(2, 1) '1ere Ligne pour 1ere entrée ElseIf (WorksheetFunction.CountA(Columns(1)) > 1) Then Set cellule = tbe.Cells(1, 1).End(xlDown).Offset(1, 0) 'Ligne pour nouvelle entrée Else If Not MsgBox(MSGNREXIST, vbQuestion + vbYesNo) = vbYes Then Exit Sub 'Ne pas remplacer l'entrée existante End If </code>
Je fais d'abord un test sur le nombre de valeurs dans ma colonne et agit en consequence.
"Mesa" a écrit dans le message de news: 5e6101c3b33c$c55f4270$ J'ai toujours mon pb qui veut que quand je n'ai qu'une ligne la macro bug car la selection ne trouve pas le xldown, peut on enlever ce type d'alerte ? Ou existe t il un moyen de virer ce problème. Merci d'avance pour ce pb et un gros merci pour le 1er ! @+ Eric
-----Message d'origine----- Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End (xlDown)).EntireRow.Hidden = True
End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[- 1], ""Security_Name"")"
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que
la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et
peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire
Salut,
J'ai eu le meme genre de probleme que j'ai contourne de la maniere suivante
:
<code>
If (WorksheetFunction.CountA(tbe.Columns(1)) = 1) Then 'j'utilise ca car je
ne connait pas l'equivalent en VBA
Set cellule = tbe.Cells(2, 1) '1ere Ligne pour 1ere entrée
ElseIf (WorksheetFunction.CountA(Columns(1)) > 1) Then
Set cellule = tbe.Cells(1, 1).End(xlDown).Offset(1, 0) 'Ligne pour
nouvelle entrée
Else
If Not MsgBox(MSGNREXIST, vbQuestion + vbYesNo) = vbYes Then Exit Sub 'Ne
pas remplacer l'entrée existante
End If
</code>
Je fais d'abord un test sur le nombre de valeurs dans ma colonne et agit en
consequence.
"Mesa" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 5e6101c3b33c$c55f4270$a601280a@phx.gbl...
J'ai toujours mon pb qui veut que quand je n'ai qu'une
ligne la macro bug car la selection ne trouve pas le
xldown, peut on enlever ce type d'alerte ? Ou existe t il
un moyen de virer ce problème.
Merci d'avance pour ce pb et un gros merci pour le 1er !
@+ Eric
-----Message d'origine-----
Bonjour,
Il faut éliminer tous les Select inutiles, qui
ralentissent le traitement :
Dim Ref As Range, Ref2 As Range
'ici on demasque tout
Cells.EntireRow.Hidden = False
Range("B6:Z256").Delete
'masque les champs en dessous des Isin
Set Ref = Cells(65536, 1).End(xlUp).Offset(3)
With Ref
Range(.Offset(0), .End
(xlDown)).EntireRow.Hidden = True
End With
Set Ref = Range("B6")
With Ref
.FormulaR1C1 = "=blp(RC[-
1], ""Security_Name"")"
Bjr,
j'utilise le code suivant pour copier vers le bas une
formule, mais le problème est que des fois il se peut
que
la fin soit juste une ligne et donc la macro plante.
De plus existe t il une autre formule pour copier qui
serait plus rapide que celle ci car je la trouve lourde
et
peu rapide.
Merci d'avance.
Le code :
'ici on demasque tout
Cells.Select
Selection.EntireRow.Hidden = False
Range("B6:Z256").delete
'masque les champs en dessous des Isin
Cells(65536, 1).Select
Selection.End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Hidden = True
'met la formule security name dans la cellule B6 et
l'étire
Salut, J'ai eu le meme genre de probleme que j'ai contourne de la maniere suivante :
<code> If (WorksheetFunction.CountA(tbe.Columns(1)) = 1) Then 'j'utilise ca car je ne connait pas l'equivalent en VBA Set cellule = tbe.Cells(2, 1) '1ere Ligne pour 1ere entrée ElseIf (WorksheetFunction.CountA(Columns(1)) > 1) Then Set cellule = tbe.Cells(1, 1).End(xlDown).Offset(1, 0) 'Ligne pour nouvelle entrée Else If Not MsgBox(MSGNREXIST, vbQuestion + vbYesNo) = vbYes Then Exit Sub 'Ne pas remplacer l'entrée existante End If </code>
Je fais d'abord un test sur le nombre de valeurs dans ma colonne et agit en consequence.
"Mesa" a écrit dans le message de news: 5e6101c3b33c$c55f4270$ J'ai toujours mon pb qui veut que quand je n'ai qu'une ligne la macro bug car la selection ne trouve pas le xldown, peut on enlever ce type d'alerte ? Ou existe t il un moyen de virer ce problème. Merci d'avance pour ce pb et un gros merci pour le 1er ! @+ Eric
-----Message d'origine----- Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End (xlDown)).EntireRow.Hidden = True
End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[- 1], ""Security_Name"")"
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que
la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et
peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire
-----Message d'origine----- Salut, J'ai eu le meme genre de probleme que j'ai contourne de la maniere suivante
:
<code> If (WorksheetFunction.CountA(tbe.Columns(1)) = 1) Then 'j'utilise ca car je
ne connait pas l'equivalent en VBA Set cellule = tbe.Cells(2, 1) '1ere Ligne pour 1ere entrée
ElseIf (WorksheetFunction.CountA(Columns(1)) > 1) Then Set cellule = tbe.Cells(1, 1).End(xlDown).Offset(1, 0) 'Ligne pour
nouvelle entrée Else If Not MsgBox(MSGNREXIST, vbQuestion + vbYesNo) = vbYes Then Exit Sub 'Ne
pas remplacer l'entrée existante End If </code>
Je fais d'abord un test sur le nombre de valeurs dans ma colonne et agit en
consequence.
"Mesa" a écrit dans le message de
news: 5e6101c3b33c$c55f4270$ J'ai toujours mon pb qui veut que quand je n'ai qu'une ligne la macro bug car la selection ne trouve pas le xldown, peut on enlever ce type d'alerte ? Ou existe t il un moyen de virer ce problème. Merci d'avance pour ce pb et un gros merci pour le 1er ! @+ Eric
-----Message d'origine----- Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End (xlDown)).EntireRow.Hidden = True
End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[- 1], ""Security_Name"")"
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que
la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et
peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire
-----Message d'origine-----
Salut,
J'ai eu le meme genre de probleme que j'ai contourne de
la maniere suivante
:
<code>
If (WorksheetFunction.CountA(tbe.Columns(1)) = 1)
Then 'j'utilise ca car je
ne connait pas l'equivalent en VBA
Set cellule = tbe.Cells(2, 1) '1ere Ligne pour 1ere
entrée
ElseIf (WorksheetFunction.CountA(Columns(1)) > 1) Then
Set cellule = tbe.Cells(1, 1).End(xlDown).Offset(1,
0) 'Ligne pour
nouvelle entrée
Else
If Not MsgBox(MSGNREXIST, vbQuestion + vbYesNo) = vbYes
Then Exit Sub 'Ne
pas remplacer l'entrée existante
End If
</code>
Je fais d'abord un test sur le nombre de valeurs dans ma
colonne et agit en
consequence.
"Mesa" <anonymous@discussions.microsoft.com> a écrit dans
le message de
news: 5e6101c3b33c$c55f4270$a601280a@phx.gbl...
J'ai toujours mon pb qui veut que quand je n'ai qu'une
ligne la macro bug car la selection ne trouve pas le
xldown, peut on enlever ce type d'alerte ? Ou existe t il
un moyen de virer ce problème.
Merci d'avance pour ce pb et un gros merci pour le 1er !
@+ Eric
-----Message d'origine-----
Bonjour,
Il faut éliminer tous les Select inutiles, qui
ralentissent le traitement :
Dim Ref As Range, Ref2 As Range
'ici on demasque tout
Cells.EntireRow.Hidden = False
Range("B6:Z256").Delete
'masque les champs en dessous des Isin
Set Ref = Cells(65536, 1).End(xlUp).Offset(3)
With Ref
Range(.Offset(0), .End
(xlDown)).EntireRow.Hidden = True
End With
Set Ref = Range("B6")
With Ref
.FormulaR1C1 = "=blp(RC[-
1], ""Security_Name"")"
Bjr,
j'utilise le code suivant pour copier vers le bas une
formule, mais le problème est que des fois il se peut
que
la fin soit juste une ligne et donc la macro plante.
De plus existe t il une autre formule pour copier qui
serait plus rapide que celle ci car je la trouve lourde
et
peu rapide.
Merci d'avance.
Le code :
'ici on demasque tout
Cells.Select
Selection.EntireRow.Hidden = False
Range("B6:Z256").delete
'masque les champs en dessous des Isin
Cells(65536, 1).Select
Selection.End(xlUp).Select
Cells(ActiveCell.Row + 3, ActiveCell.Column).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Hidden = True
'met la formule security name dans la cellule B6 et
l'étire
-----Message d'origine----- Salut, J'ai eu le meme genre de probleme que j'ai contourne de la maniere suivante
:
<code> If (WorksheetFunction.CountA(tbe.Columns(1)) = 1) Then 'j'utilise ca car je
ne connait pas l'equivalent en VBA Set cellule = tbe.Cells(2, 1) '1ere Ligne pour 1ere entrée
ElseIf (WorksheetFunction.CountA(Columns(1)) > 1) Then Set cellule = tbe.Cells(1, 1).End(xlDown).Offset(1, 0) 'Ligne pour
nouvelle entrée Else If Not MsgBox(MSGNREXIST, vbQuestion + vbYesNo) = vbYes Then Exit Sub 'Ne
pas remplacer l'entrée existante End If </code>
Je fais d'abord un test sur le nombre de valeurs dans ma colonne et agit en
consequence.
"Mesa" a écrit dans le message de
news: 5e6101c3b33c$c55f4270$ J'ai toujours mon pb qui veut que quand je n'ai qu'une ligne la macro bug car la selection ne trouve pas le xldown, peut on enlever ce type d'alerte ? Ou existe t il un moyen de virer ce problème. Merci d'avance pour ce pb et un gros merci pour le 1er ! @+ Eric
-----Message d'origine----- Bonjour,
Il faut éliminer tous les Select inutiles, qui ralentissent le traitement :
Dim Ref As Range, Ref2 As Range 'ici on demasque tout Cells.EntireRow.Hidden = False Range("B6:Z256").Delete 'masque les champs en dessous des Isin Set Ref = Cells(65536, 1).End(xlUp).Offset(3) With Ref Range(.Offset(0), .End (xlDown)).EntireRow.Hidden = True
End With Set Ref = Range("B6") With Ref .FormulaR1C1 = "=blp(RC[- 1], ""Security_Name"")"
Bjr, j'utilise le code suivant pour copier vers le bas une formule, mais le problème est que des fois il se peut que
la fin soit juste une ligne et donc la macro plante. De plus existe t il une autre formule pour copier qui serait plus rapide que celle ci car je la trouve lourde et
peu rapide. Merci d'avance.
Le code : 'ici on demasque tout Cells.Select Selection.EntireRow.Hidden = False Range("B6:Z256").delete 'masque les champs en dessous des Isin Cells(65536, 1).Select Selection.End(xlUp).Select Cells(ActiveCell.Row + 3, ActiveCell.Column).Select Range(Selection, Selection.End(xlDown)).Select Selection.EntireRow.Hidden = True 'met la formule security name dans la cellule B6 et l'étire
a écrit dans le message de news:0d1001c3b33e$54058ce0$ Est il possible de modifier la formule sur le .End(xlDown) pour faire .End(xldown)-1 pour que ça remonte d'une cellule ? Dans ce cas il me suffit de modifier le offset et de le mettre à 2 au lieu de 1 et hop plus de soucis. @+ Eric
<anonymous@discussions.microsoft.com> a écrit dans le message de
news:0d1001c3b33e$54058ce0$a301280a@phx.gbl...
Est il possible de modifier la formule sur le
.End(xlDown) pour faire .End(xldown)-1 pour que ça remonte
d'une cellule ? Dans ce cas il me suffit de modifier le
offset et de le mettre à 2 au lieu de 1 et hop plus de
soucis.
@+ Eric
a écrit dans le message de news:0d1001c3b33e$54058ce0$ Est il possible de modifier la formule sur le .End(xlDown) pour faire .End(xldown)-1 pour que ça remonte d'une cellule ? Dans ce cas il me suffit de modifier le offset et de le mettre à 2 au lieu de 1 et hop plus de soucis. @+ Eric