Sophie1981
Messages postés10Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 mai 2006
-
9 mai 2006 à 16:15
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 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
A voir également:
Selectionner la derniere cellule non vide d'une colonne excel
Polack77
Messages postés1098Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 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)
Polack77
Messages postés1098Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 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"
Polack77
Messages postés1098Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 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
Polack77
Messages postés1098Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Polack77
Messages postés1098Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 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.
Sophie1981
Messages postés10Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 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....
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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 ?