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

Tester cellule vide avant de copier - VBA

1 réponse
Avatar
JacquesH
Bonjour à toutes et tous,

Il y a deux semaines j'avais obtenu une solution à un de mes problèmes
de la part d'anonymousA. Elle fonctionne à merveille mais mon problème a
maintenant légèrement évolué et tous mes " bricolages" du code n'ont
rien donné.

Je copie des données d'un fichier dans un autre dans lequel il y a
plusieurs feuilles. Avant de les copier, je teste si la feuille 1 est
vide. Si oui, je les copie, sinon, je passe à la feuille 2...

Sub copiefeuillesnonvides()

Application.ScreenUpdating = False

Worksheets("Groupes mâles").Range("A1:M100").Copy
Workbooks.Open FileName:= _
"C:\jacquesh\FORMATION INFORMATIQUE\CHANTIERS\TestCopie2.xls"
For Each f In Sheets(Array("F1", "F2", "F3", "F4", "F5", "F6"))

If Application.WorksheetFunction.CountA(f.Cells) = 0 Then

f.Range("H1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Exit Sub
End If

Next

MsgBox "aucune des feuilles n'est vide d'informations"
Application.CutCopyMode = False

End Sub

Mon problème est maintenant le suivant : les feuilles ne sont pas
réellement vides car il y a des formules en colonnes A, B, C...

Je souhaiterais copier les données dans la feuille 1 si la cellule H1
est vide, sinon tester si la cellule H1 de la feuille 2 est vide...

J'ai essayé de modifier la ligne :
If Application.WorksheetFunction.CountA(f.Cells) = 0 Then
en remplaçant le f.Cells : sans succès.

Quelqu'un peut-il me donner une idée ?

Jacques.

1 réponse

Avatar
JacquesH
Une dernière idée et un dernier test m'ont permis de trouver la solution
, j'aurais du taper le message 7 fois sur mon clavier :

If Application.WorksheetFunction.CountA(f.Range("H1")) = 0 Then

Bonne journée

Et encore une fois, merci pour les aides à venir.

Jacques.

Bonjour à toutes et tous,

Il y a deux semaines j'avais obtenu une solution à un de mes
problèmes de la part d'anonymousA. Elle fonctionne à merveille mais mon
problème a maintenant légèrement évolué et tous mes " bricolages" du
code n'ont rien donné.

Je copie des données d'un fichier dans un autre dans lequel il y a
plusieurs feuilles. Avant de les copier, je teste si la feuille 1 est
vide. Si oui, je les copie, sinon, je passe à la feuille 2...

Sub copiefeuillesnonvides()

Application.ScreenUpdating = False

Worksheets("Groupes mâles").Range("A1:M100").Copy
Workbooks.Open FileName:= _
"C:jacqueshFORMATION INFORMATIQUECHANTIERSTestCopie2.xls"
For Each f In Sheets(Array("F1", "F2", "F3", "F4", "F5", "F6"))

If Application.WorksheetFunction.CountA(f.Cells) = 0 Then

f.Range("H1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Exit Sub
End If

Next

MsgBox "aucune des feuilles n'est vide d'informations"
Application.CutCopyMode = False

End Sub

Mon problème est maintenant le suivant : les feuilles ne sont pas
réellement vides car il y a des formules en colonnes A, B, C...

Je souhaiterais copier les données dans la feuille 1 si la cellule
H1 est vide, sinon tester si la cellule H1 de la feuille 2 est vide...

J'ai essayé de modifier la ligne :
If Application.WorksheetFunction.CountA(f.Cells) = 0 Then
en remplaçant le f.Cells : sans succès.

Quelqu'un peut-il me donner une idée ?

Jacques.