Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 01/07/2003, 17h28   #1 (permalink)
Yapou
Guest
 
Messages: n/a
Par défaut Import Données

Bonjour j''aurais une petite question ...

Je travaille sur 1 classeur de plusieurs feuilles.
Ma base de données est sur la feuille 'bd".
Dans cette feuille g un certain nb de colonnes qui sont remplies.

Ce que je veux c créer une macro qui puisse importer des valeurs de la colonne C de la feuille "bd" et les coller ds une autre feuille du même classeur.

Sans cela j'utilise la fomule tout bête : =bd!C1 et ensuite je duplique la formule.
Le problème est que jen faisant cela j'importe toute la colonne C de ma feuille "bd" et même des cellule ou il n'ya pas de valeur. Donc ce ke je veux faire c importer ds ma seconde feuille les valeurs de la colonne C de "bd" qui ne sont pas nulles.

Exemple : ds la colonne C de "bd" g d valeurs de C4 à C75

Comment importer UNIQUEMENT les valeurs C4 à C75 dans ma seconde feuille.
Je n'arrive pas a créer une formule qui selectionne AUTOMATIQUEMENT les cases de la colonne C de "bd" ou il y a des valeurs.
Cela me pose problème car ensuite avec une macro je trie les données importées : et comme j'importe toute la colonne C de C4 à C 123456 (je sais pas combien y'a de lignes en tout dans une feuille excel lol ) j'ai plein de cellules vides dans mon tri (soit toutes regroupées au début, soit toutes regroupées a la fin).

G oublié de préciser que lorsque je cherche à importer automatiquement les valeurs de la colonne C (uniquement celles qui ne sont pas nulles), je ne connais pas le nombre de cellule de C comportant des valeurs. Ce que je veux dire c quee je veux importer "à l’aveugle" les données de la colonne C de la feuille "bd" vers ma nouvelle feuille, sans savoir combien la colonne C comporte de valeurs non nulles. Car si je sais que ma colonne C de "bd" va de C4 à C75 là je sais faire l'import.
 
ANNONCES
Vieux 01/07/2003, 18h14   #2 (permalink)
steph
Guest
 
Messages: n/a
Par défaut Re: Import Données

Bonjour Yapou,

je suis loin d'être un pro du vba, donc il y a surement mieux que ce que je vais te proposer, mais bon se sera tjs ça.

Sub RecopiePropre

IntNumLgn = 2 '~~Cette val à 2 pr ne pas écraser les titres de des champs de la feuille qui va acceuillir la copie
for i=2 to 1000 '~~1000 correspond au nb max de ligne ds ta colone à copier
if Worksheets("bd").Range("C" & i).Value <> "" then '~~ce if permet de vérifier si la cellule est pleine : si oui on copie ds l'autre feuille, si non on passe à la cellule suivante.
Worksheets("AutreFeuille").Range("LaLettreDeLaColo neQueTuVeux" & IntNbLgn).Value = Worksheets("bd").Range("C" & i).Value 'cette ligne te permet d'affecter la valeur de la cellule Range("C" & i) à la cellule Range("LaLettreDeLaColoneQueTuVeux" & IntNbLgn)
IntNumLgn=IntNumLgn+1 'ici on incrémente de 1 pour écrire à la cellule suivante, sinon on écrase à chaque passage et à la fin tu n'as qu'un résultat
End if
next

End Sub

Voilà, ça vaut ce que ça vaut, mais tu devrais avoir ta colone copiée proprement.

Steph
 
Vieux 01/07/2003, 18h20   #3 (permalink)
steph
Guest
 
Messages: n/a
Par défaut Re: Import Données

Re Yapou,

je viens de voir ce que ça donne ds le forum et ma réponse est illisible plus une erreur.

Je te la redonne sans les commentaires


Sub RecopiePropre

IntNumLgn = 2
for i=2 to 1000

if Worksheets("bd").Range("C" & i).Value <> "" then

Worksheets("AutreFeuille").Range("LaLettreDeLaColo neQueTuVeux" & IntNumLgn).Value = Worksheets("bd").Range("C" & i).Value
IntNumLgn=IntNumLgn+1

End if

next

End Sub

J'espère que c'est plus lisible

Steph
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 19h18.


(C) 2006 Excel Downloads