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

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

9 réponses

Meilleure réponse
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
9 mai 2006 à 16:28
3
Merci
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

Merci Polack77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Meilleure réponse
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
9 mai 2006 à 16:33
3
Merci
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

Merci Polack77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
9 mai 2006 à 16:49
0
Merci
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
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
9 mai 2006 à 16:56
0
Merci
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
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
10 mai 2006 à 07:45
0
Merci
Il est bon ce Pollack,

on t'a pas vu un moment...

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

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