INFINITY100
XLDnaute Occasionnel
Bonjour à tous!
Je débute en VBA, et je suis face à un petit problème de prise de tête.
J'ai une colonne "A16:M16" avec certaines cellules vides et non-vides, donc je voudrai bien avoir une macro qui me copie les cellules non-vides et cette copie prend en charge aussi une nouvelle cellule à chaque fois cette dernière se rempli
j'ai eu une macro qui réalise ça seulement quand je change les cellules de copie dans la macro je n’obtiens pas ce que je veux car elle me fait copier les cellules vides et non-vides
Voici la macro :
PS : les cellules que je change dans la macro sont :
Sub CopieDepuisA2()
Te = F.Range(F.[A2], F.Cells(F.Rows.Count, "A").End(xlUp)).Value
je joins avec cette demande le fichier pour plus de détails
Merci à vous tous
Cordialement
Je débute en VBA, et je suis face à un petit problème de prise de tête.
J'ai une colonne "A16:M16" avec certaines cellules vides et non-vides, donc je voudrai bien avoir une macro qui me copie les cellules non-vides et cette copie prend en charge aussi une nouvelle cellule à chaque fois cette dernière se rempli
j'ai eu une macro qui réalise ça seulement quand je change les cellules de copie dans la macro je n’obtiens pas ce que je veux car elle me fait copier les cellules vides et non-vides
Voici la macro :
Code:
Option Explicit
'
Sub CopieDepuisA2()
Dim F As Worksheet, Te(), Ts() As String, Le As Long, Ls As Long
Set F = ActiveSheet
Te = F.Range(F.[A2], F.Cells(F.Rows.Count, "A").End(xlUp)).Value
For Le = 1 To UBound(Te)
If Not IsEmpty(Te(Le, 1)) Then ReDim Preserve Ts(0 To Ls): Ts(Ls) = Te(Le, 1): Ls = Ls + 1
Next Le
PressePapier = Join(Ts, vbCrLf)
End Sub
'
Rem. Important: Cochez "Microsoft Forms 2.0 Object Library" dans la liste Références disponibles, menu Outils, Références…
Property Get PressePapier() As String
Dim DOb As New DataObject
On Error Resume Next
DOb.GetFromClipboard: PressePapier = DOb.GetText
If Err Then MsgBox "Pas de données récupérées", vbCritical, "PressePapier"
End Property
Property Let PressePapier(Z As String)
Dim DOb As New DataObject
DOb.SetText Z: DOb.PutInClipboard
End Property
PS : les cellules que je change dans la macro sont :
Sub CopieDepuisA2()
Te = F.Range(F.[A2], F.Cells(F.Rows.Count, "A").End(xlUp)).Value
je joins avec cette demande le fichier pour plus de détails
Merci à vous tous
Cordialement