copier les données de certaines colonnes seulement

F

flo

Guest
Bonjour à tous!

Voici mon problème:

Je dispose d'une feuille de commandes avec plusieurs lignes de commandes et plusieurs colonnes corespondant aux caractéristiques des commandes....

Je désireais programer sous VBA une fonction qui à partir d'une feuille de commande copie dans une autre feuille toutes les commandes, ne gardant que trois colonnes d'information.

J'avais pensé utiliser un tableau pour transférer l'information.
du style:

Pour chaque ligne de commande de la feuille d'origne/

tableau(1)=valeur de la première colone à copier
tableau(2)=valeur de la deuxième colone à copier
tableau(3)=valeur de la troisième colone à copier
puis dans la nouvelle feuille:
valeur colone A = tableau(1)
valeur colone B = tableau(2)
valeur colone C = tableau(3)


Je n'arrive cependant pas à copier ces valeurs et je rencontre des problèmes de déclaration de variables du tableau.
Mes données sont des chifffres, du texte et des dates


Si vous pouvez m'aider, merci,
bonne soirée au forum

flo
 

Bebere

XLDnaute Barbatruc
bonsoir Flo

j'espère que le code suivant te viendra en aide
Sub CopyCol()
Dim DerL As Integer
'ligne de la dernière cellule non vide
DerL = Sheets('Feuil1').Range('A2').End(xlDown).Row
Sheets('Feuil2').Range('A2:A' & DerL).Value = Sheets('Feuil1').Range('A2:A' & DerL).Value
Sheets('Feuil2').Range('A2:A' & DerL).Value = Sheets('Feuil1').Range('C2:C' & DerL).Value
Sheets('Feuil2').Range('A2:A' & DerL).Value = Sheets('Feuil1').Range('E2:E' & DerL).Value
End Sub

à bientôt

:)
 
F

Flo

Guest
merci bebere pour ta réponse tres rapide
je n'avais pas pensé à faire ça comme ça!


Ceci dit avec cette méthode (méthode qui ne passe pas par une variable intermédiaire stoquée dans un tableau de variable), on ne peux pas traiter la valeur des cellules avant de les renvoyer dans leur nouvel emplacement

Je m'explique:
Si je veux par exemple concatener la colonne D(format date) et la colone E (format heure) dans une cellule cible de la feuille2 de format 'date et heure' du style (1/1/05 12:00)
... ça coince



PS : Quelqu'un pourrait il me dire comment faire avec une methode de variable locale? histoire de savoir ci c'est possible aussi ou pas

PS: Je joins le code que tu m'avais envoyé mais qui contenait une petite erreur, de frappe surement...
Sub CopyCol()
Dim DerL As Integer
'ligne de la dernière cellule non vide
DerL = Sheets('A').Range('A2').End(xlDown).Row
Sheets('B').Range('A2:A' & DerL).Value = Sheets('A').Range('A2:A' & DerL).Value
Sheets('B').Range('B2:B' & DerL).Value = Sheets('A').Range('D2:D' & DerL).Value
Sheets('B').Range('C2:C' & DerL).Value = Sheets('A').Range('E2:E' & DerL).Value & Sheets('A').Range('F2:F' & DerL).Value
End Sub




merci encore
@+
 

Bebere

XLDnaute Barbatruc
bonjour Flo

je t'envoye un fichier pour éviter les fautes

à bientôt
:) [file name=PourFlo.zip size=8030]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourFlo.zip[/file]
 

Pièces jointes

  • PourFlo.zip
    7.8 KB · Affichages: 35
F

Flo

Guest
Bonjour Bebere,

Merci, c'est exactement ce que je voullais obtenir!

J'ai découvert aussi que les heures et les dates pouvaient s'additionner grace à l'opérateur + ; je conserve ainsi le format de date que l'on pert par cocaténation de chaines de carractères.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 172
dernier inscrit
Aurelyan