Copier uniquement plage cellules non vides...

Résolu
Sophie1981 Messages postés 10 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 mai 2006 - 9 mai 2006 à 16:15
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 22 mai 2006 à 01:05
J'ai absolument besoin d'aide... j'ai beau retourner ça dans tous les sens, je ne suis qu'une débutante et IMPOSSIBLE de trouver le code qu'il me faut...

(AU FAIT !! un grand merci à Mortalino qui m'a bien dépannée la dernière fois !! je n'ai pas eu le temps de le remercier encore)

Bref, mon souci est de créer un historique.
J'ai une feuille (titres sur la zone A1:C1), que je voudrais copier dans une feuille historique
Seulement je ne voudrais copier que les cellules de la zone "A2:C..." contenant des données.

j'ai essayé de bidouiller dans tous les sens, mais rien n'y fait....

HELP ME PLEASE !!

merci pour votre aide !

Sophie

9 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 mai 2006 à 16:28
Do While CptColone < 257 'Pour les 256 colone (compteur STRICTEMENT inférieur à)
CptLigne = 1 'Initialisation du compteur ligne
Do While CptLigne < 65536 'Pour toute les ligne
Cells(CptLigne, CptColone).Select 'Selectione la cellule en cours
If ActiveCell = "" Then 'Si la cellule est vide
Selection.End(xlDown).Select 'Passe directement à la valeur suivante (equivalent à la comande "Ctrl" + Fléche directionelle )
'Le compteur ligne est egale au num ligne de la cellule celectionnée
CptLigne = Val(Split(Selection.Address(True, True, xlR1C1), "R")(1))
End If
If ActiveCell <> "" Then 'Si la cellule est non vide
If PremLigne = 0 Or PremLigne > CptLigne Then 'Si la 1ér ligne non détect ou supérieur à ligne en cours
PremLigne = CptLigne 'Sauv du num ligne
End If
If DerLigne < CptLigne Then 'Si num derligne est inférieur a la ligne en cours
DerLigne = CptLigne 'Sauv du num ligne
End If
If PremColone = 0 Then 'Si 1ér colone non détect
PremColone = CptColone 'Sauv du num colone
End If
If DerColone < CptColone Then 'Si num dérinere colone inférieur à la colone en cours
DerColone = CptColone 'Sauv du num colone
End If

CptLigne = CptLigne + 1 'Passe à la ligne suivante
End If

Loop

CptColone = CptColone + 1 'Passe à la colone suivante
Loop

Voila un "bout" de code qui cherche les donnée dans une feuille
Une fois que ce code est executer tu à 4 variable :
PremLigne,DerLigne,PremColone,DerColone (ce qu'elle contienne est evidant je crois)

D'oh! Nuts!
Mmmmm...
DONUTS
3
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 mai 2006 à 16:33
cette ligne : "Selection.End(xlDown).Select 'Passe directement à la valeur suivante (equivalent à la comande "Ctrl" + Fléche directionelle )" est tres utile pour que ton code ne soit pas trop long à l'execution.

De plus tu dois changer la ligne "Do While CptColone < 257" si tu ne veut pas scaner les 256 colone donc si tu veut faire le test pour les colone de "A" à "C" remplace là par "Do While CptColone < 4"

Alors avec ça tu dois pouvois t'en sortire

D'oh! Nuts!
Mmmmm...
DONUTS
3
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 mai 2006 à 16:49
Heeeeeeeeeeeeeeeeeee, alors ça marche???
Pense à valider la(les) rèponce(s) qui t'on permis de résoudre ton problème (ca permet de savoir si tu t'en ai sortie, c'est aussi vrais pour les autre question que tu à pue posser)
merci

D'oh! Nuts!
Mmmmm...
DONUTS
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
9 mai 2006 à 16:56
Oups, je viens de relire ta question et tu à peut être un problème.Pour commancer le test à la ligne 2 (puisque tu dit que tes titre sont sur la ligne 1) tu remplace simplement "CptLigne 1" par "CptLigne 2" sorti de cas tout dois aller.

D'oh! Nuts!
Mmmmm...
DONUTS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 mai 2006 à 07:45
Il est bon ce Pollack,

on t'a pas vu un moment...

Bref, moi, j'accepte ta réponse.

@ ++
Mortalino
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
10 mai 2006 à 08:34
C vrais que l'on me vois moin en ce momant, j'ai baucoup de boulo mais je passe quant même filer des coups de main (et posser des questions). Bonjours à toi Mortalino.

D'oh! Nuts!
Mmmmm...
DONUTS
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 mai 2006 à 09:02
Salut Polack !

Et bien ça fait plaisir de te voir,
en espérant te croiser à nouveau dans les messages.

Bonne journée à tyoi aussi

Mortalino
0
Sophie1981 Messages postés 10 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 mai 2006
10 mai 2006 à 12:04
J'avoue que j'ai énormément de mal...
Impossible de faire marcher ce code... en même temps, faut avouer que vu que ça fait tout juste 3 semaines que je me suis mise à VBA, j'ai encore du mal à comprendre tous les codes...

à mon avis, dès que j'aurai pigé ce que ça veut dire, j'arriverai à le faire fonctionner....

Pfff c nul les gonzesses !!!
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 mai 2006 à 01:05
Salut Sophie,

C'est pas nul les filles, au contraire ça fait plaisir de voir des demoiselles sur ce forum... (si t'habites pas loin, je te donne des cours gratuits / lol)

On débute tous un jour ou l'autre.

Bon, pour ton problème d'historique, si j'ai bien compris ca fait ça :
(schéma approximatif, bien sûr !)

_____________________________
| A | B | C |
_|_________|________|________|
1| Titre1 | Titre2 | Titre3 |
2| abc | def | ghi |
3| jkl | mno | pqr |

et tu veux donc récupérer les valeurs de A2:Cx (pour cet exemple : A2:C3)
par contre est ce que tu veux ces valeurs en fichier texte ou une copie de l'onglet ?

En gros, 1/ comment veux tu récupérer ces données, 2/ doit-on effacer l'historique à chaque changement ?

@ bientôt Sophie

Mortalino
0
Rejoignez-nous