gerardmireille
Messages postés29Date d'inscriptionvendredi 16 mai 2008StatutMembreDernière intervention15 mars 2014
-
1 janv. 2011 à 17:51
cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024
-
3 janv. 2011 à 14:23
Bonjour,
Je tente vainement de recopier un plage de cellule d'une feuille à l'autre en ignorant les cellules vides mais sans affecter l'ordre nitial de la plage .
Ci dessous le code que j'ai tenté d'utiliser :
Sub Copie1()
Dim plage As Range
Dim Cel As Range
ActiveWorkbook.Sheets("Feuil6").Select
Set plage = Range("A1:A") & Range("A65536").End(xlUp).Row For Each Cel In plage
If Cel.Value <> "" Then
ActiveWorkbook.Sheets("Feuil7").Range(Cel.Adress) = Cel.Value
End If
Next Cel
End Sub
Message d'erreur : La méthode Range de l'objet_global a échoué.
cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024137 3 janv. 2011 à 14:23
Bonjour Gérard et bonne année,
Tu mets ceci :
Sub Copie1()
Dim plage As Range
Dim Cel As Range
ActiveWorkbook.Sheets("Feuil6").Select
Set plage = Range("A1:A" & Range("A65536").End(xlUp).Row)
For Each Cel In plage
If Cel.Value <> "" Then
ActiveWorkbook.Sheets("Feuil7").Range(Cel.Address) = Cel.Value
End If
Next Cel
ActiveWorkbook.Sheets("Feuil7").Select
[A:A].SpecialCells(xlCellTypeBlanks).Delete
End Sub
Cela supprime les cellules vides mais pas les lignes!!!
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 2 janv. 2011 à 10:10
Salut
Si tu as une erreur, il faudrait dire que quelle ligne.
Dans cette ligne
Set plage = Range("A1:A") & Range("A65536").End(xlUp).Row
la parenthèse de fermeture est mal placée.
Range("A1:A") n'est pas une définition de plage correcte
Range("A65536").End(xlUp).Row renvoie un chiffre
>
Set plage = Range("A1:A" & Range("A65536").End(xlUp).Row)
Préfère
If IsEmpty(Cel) Then
a
If Cel.Value <> "" Then
Cel.Adress n'est pas correct : Address avec 2 d
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
gerardmireille
Messages postés29Date d'inscriptionvendredi 16 mai 2008StatutMembreDernière intervention15 mars 2014 2 janv. 2011 à 15:11
Bonjour Jack,
J'ai corrrigé mes fautes d'inattention, c'était le 1er janvier...
Avec If IsEmpty(Cel) Then
ça ne fonctionne pas.
Avec If Cel.Value <> "" Then
ça fonctionne mais ça ne me supprime pas les cellules vides et c'est ce que je voudrais.
Je te redonne mon dernier code ci dessous.
Sub Copie1()
Dim plage As Range
Dim Cel As Range
ActiveWorkbook.Sheets("Feuil6").Select
Set plage = Range("A1:A" & Range("A65536").End(xlUp).Row)
For Each Cel In plage
If Cel.Value <> "" Then
ActiveWorkbook.Sheets("Feuil7").Range(Cel.Address) = Cel.Value
End If
Next Cel
End Sub
A +
Cordialement