copier les données de certaines colonnes seulement

  • Initiateur de la discussion Initiateur de la discussion flo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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

🙂
 
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😀' & 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
@+
 
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.

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour