VBA : Résultat au lieu de formules
Résolu
amaury08
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'utilise un script VBA qui me copie le résultat des cellules non-vides d'une colonne A vers une colonne B en partant du bas :
Sub copie()
Dim cellule As Range
Dim Ligne As String
For Each cellule In Worksheets("Feuil1").Range("A1:A200")
If Not IsEmpty(cellule) Then
If IsEmpty(Worksheets("Feuil1").Range("B65536").End(xlUp)) Then
Worksheets("Feuil1").Range("B65536").End(xlUp).Select
cellule.Copy Worksheets("Feuil1").Range("B65536").End(xlUp)
Else
Ligne = Worksheets("Feuil1").Range("B65536").End(xlUp).Row
Range("B" & Ligne + 1).Select
cellule.Copy Worksheets("Feuil1").Range("B" & Ligne + 1)
End If
End If
Next cellule
End Sub
le seul problème c'est que justement, les cellules à copier contiennent déjà des formules.
d'où ma question :
comment copier le résultat de(s) la(les) cellule(s) plutôt que les formules que celle-ci contiennent ?
j'utilise un script VBA qui me copie le résultat des cellules non-vides d'une colonne A vers une colonne B en partant du bas :
Sub copie()
Dim cellule As Range
Dim Ligne As String
For Each cellule In Worksheets("Feuil1").Range("A1:A200")
If Not IsEmpty(cellule) Then
If IsEmpty(Worksheets("Feuil1").Range("B65536").End(xlUp)) Then
Worksheets("Feuil1").Range("B65536").End(xlUp).Select
cellule.Copy Worksheets("Feuil1").Range("B65536").End(xlUp)
Else
Ligne = Worksheets("Feuil1").Range("B65536").End(xlUp).Row
Range("B" & Ligne + 1).Select
cellule.Copy Worksheets("Feuil1").Range("B" & Ligne + 1)
End If
End If
Next cellule
End Sub
le seul problème c'est que justement, les cellules à copier contiennent déjà des formules.
d'où ma question :
comment copier le résultat de(s) la(les) cellule(s) plutôt que les formules que celle-ci contiennent ?
A voir également:
- VBA : Résultat au lieu de formules
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Dépassement de capacité vba ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
2 réponses
Essaie :
Option Explicit Sub copie() Dim celOrg As Range Dim celDst As Range Set celDst = Columns("B").Find("*", , , , , xlPrevious) If celDst Is Nothing Then Set celDst = Range("B1") Else Set celDst = celDst.Offset(1) For Each celOrg In Worksheets("Feuil1").Range("A1:A200") If Not IsEmpty(celOrg) Then celDst.Value = celOrg.Value Set celDst = celDst.Offset(1) End If Next celOrg End Sub
merci patrice, mais comment éviter les espaces entre les résultats ?
sinon c'est le résultat que je cherchais
sinon c'est le résultat que je cherchais