Copier uniquement plage cellules non vides... [Résolu]

Sophie1981 10 Messages postés jeudi 27 avril 2006Date d'inscription 10 mai 2006 Dernière intervention - 9 mai 2006 à 16:15 - Dernière réponse : mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention
- 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
Afficher la suite 

9 réponses

Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 9 mai 2006 à 16:28
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 9 mai 2006 à 16:33
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 9 mai 2006 à 16:49
0
Utile
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
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 9 mai 2006 à 16:56
0
Utile
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
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 10 mai 2006 à 07:45
0
Utile
Il est bon ce Pollack,

on t'a pas vu un moment...

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

@ ++
Mortalino
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 10 mai 2006 à 08:34
0
Utile
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
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 10 mai 2006 à 09:02
0
Utile
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
Sophie1981 10 Messages postés jeudi 27 avril 2006Date d'inscription 10 mai 2006 Dernière intervention - 10 mai 2006 à 12:04
0
Utile
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 !!!
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 22 mai 2006 à 01:05
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.