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

Résolu
supraman46 Messages postés 57 Statut Membre -  
supraman46 Messages postés 57 Statut Membre -
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 11033 Statut Membre 2 433
 
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 57 Statut Membre 1
 
Ca marche à merveille.

Un gros merci à toi ccm81!
0
supraman46 Messages postés 57 Statut Membre 1
 
J'ai oublié de poser la question... dans ton code à quoi sert le chiffre 6 dans le 6+n?
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
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 57 Statut Membre 1
 
Effectivement, merci pour la clarification.

Aux plaisirs
0