Copier les valeurs d'une colonne vers une autre avec condition

Résolu/Fermé
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 - Modifié par supraman46 le 29/04/2016 à 17:00
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 - 29 avril 2016 à 18:45
Bonjour,

Je souhaite copier des valeurs qui ce trouvent dans une colonne vers une autre, mais copier seulement un nombre precis de valeur en fonction d'une formule qui ce trouve sur ma feuille.

Voici mon code de départ sans la condition que je désir rajouter:

Sub transfert()

Dim derligne As Integer

derligne = Sheets("database_all").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("compilation").Range("C7:C10").Copy Sheets("database_all").Cells(derligne, 1)
End If
End Sub

La feuille "Compilation" est celle ou mes valeurs ce trouvent et "database_all" est celle ou mes données doivent-être copier. Maintenant, sur ma feuille compilation, j'ai une cellule ou ce trouve une formule qui génère un nombre, j'aimerais programmer ma macro pour qu'elle récupère le nombre que ma formule va générer qu'elle utilise le résultat pour établir le nombre de cellules à copier vers la base de donnée "database_all"

Exemple: Si ma formule égale à 2, bien j aimerais seulement copier les 2 premières cellule de ma plage dans sur la feuille "database_all".

Que dois-je rajouter sur mon code pour établir cette condition?


Merci à l'avance pour votre aide.

A voir également:

4 réponses

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 29/04/2016 à 18:31
Bonjour


Essaies ceci

Sub transfert()
Dim derligne As Long, n As Long
derligne = Sheets("database_all").Range("A" & Rows.Count).End(xlUp).Row + 1
n = Sheets("compilation").Range(ta_cellule).Value
Sheets("compilation").Range("C7:C" & 6+n).Copy Sheets("database_all").Cells(derligne, 1)
End Sub

Cdlmnt
0
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 1
29 avril 2016 à 18:36
Ca marche à merveille.

Un gros merci à toi ccm81!
0
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 1
29 avril 2016 à 18:39
J'ai oublié de poser la question... dans ton code à quoi sert le chiffre 6 dans le 6+n?
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
29 avril 2016 à 18:43
ta selection commence en ligne 7
la plage (C7:Cxx) doit contenir n lignes donc xx = 6+n

ex pour n=4, 6+n = 10 et la plage est C7:C10 (4 lignes)

Cdlmnt
0
supraman46 Messages postés 53 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 15 décembre 2020 1
29 avril 2016 à 18:45
Effectivement, merci pour la clarification.

Aux plaisirs
0