Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacer "A2" par la première cellule vide

8 réponses
Avatar
Denys
Bonjour =E0 tous,

Pourriez-vous me dire comment remplacer "A2" par la premi=E8re cellule
vide dans la formule suivante SVP ?

With ActiveSheet
.Range("A2", .Cells(UBound(Arr, 1), UBound(Arr,
2))).Value =3D Arr
End With

J"ai essay=E9:

With ActiveSheet
DerL =3D .[A65536].End(3).Row
.Range("A:" & DerL & "", .Cells(UBound(Arr, 1), UBound(Arr,
2))).Value =3D Arr
End With

Mais =E7a ne fonctionne pas....

Merci pour votre temps

Denys

8 réponses

Avatar
DanielCo
Bonjour.
Essaie :

With ActiveSheet
.Range(.Cells(1, 1).End(xlDown).Offset(1), .Cells(UBound(Arr, 1),
UBound(Arr, 2))).Value = Arr
End With

Cordialement.
Daniel


Bonjour à tous,

Pourriez-vous me dire comment remplacer "A2" par la première cellule
vide dans la formule suivante SVP ?

With ActiveSheet
.Range("A2", .Cells(UBound(Arr, 1), UBound(Arr,
2))).Value = Arr
End With

J"ai essayé:

With ActiveSheet
DerL = .[A65536].End(3).Row
.Range("A:" & DerL & "", .Cells(UBound(Arr, 1), UBound(Arr,
2))).Value = Arr
End With

Mais ça ne fonctionne pas....

Merci pour votre temps

Denys
Avatar
news.free.fr
Bonjour.
Essaie :

With ActiveSheet
.Range(.Cells(1, 1).End(xlDown).Offset(1), .Cells(UBound(Arr, 1),
UBound(Arr, 2))).Value = Arr
End With

Cordialement.
Daniel


Bonjour à tous,

Pourriez-vous me dire comment remplacer "A2" par la première cellule
vide dans la formule suivante SVP ?

With ActiveSheet
.Range("A2", .Cells(UBound(Arr, 1), UBound(Arr,
2))).Value = Arr
End With

J"ai essayé:

With ActiveSheet
DerL = .[A65536].End(3).Row
.Range("A:" & DerL & "", .Cells(UBound(Arr, 1), UBound(Arr,
2))).Value = Arr
End With

Mais ça ne fonctionne pas....

Merci pour votre temps

Denys
Avatar
Denys
Bonjour Daniel,

Merci beaucoup... Malheureusement, ça ne fonctionne pas..... Je
continue en attendant...

Denys
Avatar
DanielCo
With ActiveSheet
.Cells(1, 1).End(xlDown).Offset(1).Select
End With

sélectionne la première cellule vide de la colonne A. Quant au reste de
la ligne, il dépend des valeurs de ta variable array.

Daniel


Bonjour Daniel,

Merci beaucoup... Malheureusement, ça ne fonctionne pas..... Je
continue en attendant...

Denys
Avatar
Denys
OK....

Et si on remplaçait "A2" par ActiveCell ???

With ActiveSheet
.Cells(1, 1).End(xlDown).Offset(1).Select

.Range("ActiveCell", .Cells(UBound(Arr, 1), UBound(Arr, 2))).Value
= Arr
End With

Denys
Avatar
DanielCo
Si tu veux... Si tu disais plutôt ce que tu veux faire ? Tu ne peux pas
mettre ActiveCell" entre guillemets de toutes façons.
Daniel


OK....

Et si on remplaçait "A2" par ActiveCell ???

With ActiveSheet
.Cells(1, 1).End(xlDown).Offset(1).Select

.Range("ActiveCell", .Cells(UBound(Arr, 1), UBound(Arr, 2))).Value
= Arr
End With

Denys
Avatar
Denys
En fait, je vais chercher de l'information sur d'autres feuilles dans
différents dossiers. Supposons que le dossier 1 contienne 50 lignes,
je veux que l'information du Dossier 2 commence à la 51e ligne.

La macro provient du site de Frédéric Sigonneau et je l'utilise très
souvent pour que les superviseurs puissent aller chercher de l'info,
mais à chaque fois dans un seul autre fichier. Seulement cette fois-
ci, l'info doit parvenir de plusieurs fichiers et je voudrais bien que
l'info s'accumule à la suite...Voici la macro:

Sub LitEmployee()
Dim Msg, Style, Title, Fich As String
Dim Fich$, Arr
Fich = "se094PierreDataCheque.xls"

'récup des données à partir de l'adresse d'une plage de cellules
GetExternalData Fich, "Hidden", "A1:P5000", True, Arr

'récup des données à partir du nom d'une plage de cellules ()
'GetExternalData Fich, "", "Tout", False, Arr


With ActiveSheet
.Cells(1, 1).End(xlDown).Offset(1).Select

.Range(ActiveCell, .Cells(UBound(Arr, 1), UBound(Arr,
2))).Value = Arr 'C'est ici que ça bloque

End With

End Sub

(Merci, Denys)

'Must have the Microsoft Activex Data Objects 2.0 Library
'in the tools----reference---in the VBA section
Sub GetExternalData(srcFile As String, _
srcSheet As String, _
srcRange As String, _
TTL As Boolean, _
outArr As Variant)
Dim myConn As ADODB.Connection, myCmd As ADODB.Command
Dim HDR As String, myRS As ADODB.Recordset, RS_n As Integer, RS_f As
Integer
Dim Arr

Set myConn = New ADODB.Connection
If TTL = True Then HDR = "Yes" Else HDR = "No"
myConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & srcFile & ";" & _
"Extended Properties=""Excel 8.0;" & _
"HDR=" & HDR & ";IMEX=1;"""
Set myCmd = New ADODB.Command
myCmd.ActiveConnection = myConn
If srcSheet = "" _
Then myCmd.CommandText = "SELECT * from `" & srcRange & "`" _
Else myCmd.CommandText = "SELECT * from `" & srcSheet & "$" &
srcRange & "`"
Set myRS = New ADODB.Recordset
myRS.Open myCmd, , adOpenKeyset, adLockOptimistic
ReDim Arr(1 To myRS.RecordCount, 1 To myRS.Fields.Count)
myRS.MoveFirst
Do While Not myRS.EOF
For RS_n = 1 To myRS.RecordCount 'lignes
For RS_f = 0 To myRS.Fields.Count - 1 'colonnes
Arr(RS_n, RS_f + 1) = myRS.Fields(RS_f).Value
Next
myRS.MoveNext
Next
Loop
myConn.Close
Set myRS = Nothing
Set myCmd = Nothing
Set myConn = Nothing

outArr = Arr

End Sub

Function IsFileOpen(filename As String)
Dim filenum As Integer, errnum As Integer

On Error Resume Next
filenum = FreeFile()
Open filename For Input Lock Read As #filenum
Close filenum
errnum = Err
On Error GoTo 0
Select Case errnum
Case 0
IsFileOpen = False
Case 70
IsFileOpen = True
Case Else
'Error errnum
End Select
End Function
End Sub
Avatar
Denys
Bon... voici le résultat qui fonctionne...

With ActiveSheet

Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(Arr, 1),
UBound(Arr, 2)) = Arr

End With

Merci pour votre temps

Denys