Copier coller un tableau dont la longueur varie VBA
AnalystUK
Messages postés
9
Statut
Membre
-
Mike-31 Messages postés 19571 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 19571 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Il s'agit de ma première publication. J'utilise beaucoup excel au quotidien mais aujourd'hui je cherche à faire quelque chose qui nécessite selon moi VBA. Je n'ai jamais utilisé VBA, mais j'ai fait Centrale Lyon et donc de la programmation donc je devrais pouvoir comprendre comment ca marche.
Bref, voici mon probleme. J'ai un tableau dans la feuille "New Joiners" qui représente la liste des nouveaux clients potentiels. Le nombre de clients que j'aimerais selectionner dépend des hypothèses de mon modèle et donc le nombre de lignes que j'aimerais selectionner varie en fonction d'une variable qui est dans une autre feuille appelée "Input".
Ce que j'aimerais c'est sélectionner mon tableau qui s'étend de C5 à E5 jusqu'à C(5+variable) et E(5+variable). Mon tableau serait donc C5:E(5+variable) et j'aimerais le coller à la suite d'un tableau dans le feuille "Total".
Je pense qu'il faut que je crée une macro sur VBA, mais je ne sais pas du tout quel code insérer et comment fonctionne VBA une fois que j'ai ouvert ma macro sur excel.
Je cherche donc quelqu'un qui puisse aider une débutante à faire son premier code et à poursuivre l'analyse de son modèle.
Merci d'avance pour votre aide!
Il s'agit de ma première publication. J'utilise beaucoup excel au quotidien mais aujourd'hui je cherche à faire quelque chose qui nécessite selon moi VBA. Je n'ai jamais utilisé VBA, mais j'ai fait Centrale Lyon et donc de la programmation donc je devrais pouvoir comprendre comment ca marche.
Bref, voici mon probleme. J'ai un tableau dans la feuille "New Joiners" qui représente la liste des nouveaux clients potentiels. Le nombre de clients que j'aimerais selectionner dépend des hypothèses de mon modèle et donc le nombre de lignes que j'aimerais selectionner varie en fonction d'une variable qui est dans une autre feuille appelée "Input".
Ce que j'aimerais c'est sélectionner mon tableau qui s'étend de C5 à E5 jusqu'à C(5+variable) et E(5+variable). Mon tableau serait donc C5:E(5+variable) et j'aimerais le coller à la suite d'un tableau dans le feuille "Total".
Je pense qu'il faut que je crée une macro sur VBA, mais je ne sais pas du tout quel code insérer et comment fonctionne VBA une fois que j'ai ouvert ma macro sur excel.
Je cherche donc quelqu'un qui puisse aider une débutante à faire son premier code et à poursuivre l'analyse de son modèle.
Merci d'avance pour votre aide!
A voir également:
- Tableau vierge à copier/coller
- Tableau word - Guide
- Comment supprimer une page vierge sur word - Guide
- Historique copier coller - Guide
- Style d'écriture a copier coller - Guide
- Tableau ascii - Guide
8 réponses
Salut,
Dans ta feuille appelée "Input", dans quelle cellule se trouve la valeur que tu dois ajouter à ta cellule C5 pour déterminer la dernière ligne à copier. Cette valeur est elle alphanumérique
Dans ta feuille appelée "Input", dans quelle cellule se trouve la valeur que tu dois ajouter à ta cellule C5 pour déterminer la dernière ligne à copier. Cette valeur est elle alphanumérique
Re,
wouah 74000, donc tu veux copier C5:E74005 c'est bien cela
et quel l'adresse de cette cellule feuille "Input"
ce E74005 est elle la dernière cellule de ton tableau
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
wouah 74000, donc tu veux copier C5:E74005 c'est bien cela
et quel l'adresse de cette cellule feuille "Input"
ce E74005 est elle la dernière cellule de ton tableau
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Haha, oui exactement. Elle se trouve en C11 dans la feuille input.
Pour etre plus claire je vais t'expliquer ce que j;essaye de faire. Je veux simplifier le programme de fidelite de ma boite. A l'heure actuelle il y a deux types de programmes, on veut melanger les deux pour en faire un seul et unique et en faciliter l'acces pour attirer des nouveaux membres.
J;ai donc trois feuilles avec une feuille par programme existant et une feuille avec la liste des clients frequents dans laquelle je veux extraire uniquement une certaine partie en fonction de mes hypotheses.
Je veux ensuite faire un tableau dans la feuille "Total" ou j;ai les informations du premier programme a la suite les info du deuxieme et ensuite celles des nouveaux clients.
Comme mes hypotheses peuvent varier j'aimerais pouvoir coller a la fin les données des nouveaux clients mais pouvoir les faire varier en fonction de ma variable en C11 dans Input.
J'espere que c'est clair et que ca te permet de voir ce que je veux faire.
Merci encore,
D
Pour etre plus claire je vais t'expliquer ce que j;essaye de faire. Je veux simplifier le programme de fidelite de ma boite. A l'heure actuelle il y a deux types de programmes, on veut melanger les deux pour en faire un seul et unique et en faciliter l'acces pour attirer des nouveaux membres.
J;ai donc trois feuilles avec une feuille par programme existant et une feuille avec la liste des clients frequents dans laquelle je veux extraire uniquement une certaine partie en fonction de mes hypotheses.
Je veux ensuite faire un tableau dans la feuille "Total" ou j;ai les informations du premier programme a la suite les info du deuxieme et ensuite celles des nouveaux clients.
Comme mes hypotheses peuvent varier j'aimerais pouvoir coller a la fin les données des nouveaux clients mais pouvoir les faire varier en fonction de ma variable en C11 dans Input.
J'espere que c'est clair et que ca te permet de voir ce que je veux faire.
Merci encore,
D
Re,
Je crois avoir compris, feuille Input cellule C11 tu saisis exemple 100 ce qui va te permettre de copier de la feuille nommée Feuil1 par exemple les cellule C5 à E105 d'une plage de données qui est plus importante
c'est cela
Je crois avoir compris, feuille Input cellule C11 tu saisis exemple 100 ce qui va te permettre de copier de la feuille nommée Feuil1 par exemple les cellule C5 à E105 d'une plage de données qui est plus importante
c'est cela
RE,
Ok je t'écris un code dans la soirée, comment se nomme l'onglet ou se trouvent tes données à copier et le nom de l'onglet sur lequel les données seront copiées
la Feuille Input si j'ai bien compris est la feuille de pilotage sur lequel le bouton sera créé et ou se trouve la cellule C11 qui détermine la hauteur de la plage à copier
Ok je t'écris un code dans la soirée, comment se nomme l'onglet ou se trouvent tes données à copier et le nom de l'onglet sur lequel les données seront copiées
la Feuille Input si j'ai bien compris est la feuille de pilotage sur lequel le bouton sera créé et ou se trouve la cellule C11 qui détermine la hauteur de la plage à copier
Merci beaucoup Mike!
Faut il absolument que je copie mes données dans une feuille vierge puis dans la feuille ou je veux le tableau avec tous les membres ou est ce possible de copier directement a la suite du tableau avec les membres des deux programmes?
S'il faut une etape intermediaire alors je créerai une feuille appelée Data New Joiners et la destination finale des data s'appelle Data Total.
Merci beaucoup pour ton aide,
D
Faut il absolument que je copie mes données dans une feuille vierge puis dans la feuille ou je veux le tableau avec tous les membres ou est ce possible de copier directement a la suite du tableau avec les membres des deux programmes?
S'il faut une etape intermediaire alors je créerai une feuille appelée Data New Joiners et la destination finale des data s'appelle Data Total.
Merci beaucoup pour ton aide,
D
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Voila le code à coller dans un module et associer à un bouton
Sub test()
Sheets("Feuil2").Select
Range(Range("C5"), Range("E" & Sheets("Input").Range("C11"))).Copy
Sheets("Data Total").Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
ce code copie la plage de la feuille nommée Feuil2 (ne connaissant pas le nom de cette feuille) définie par la cellule C11 de la feuille Input
et colle directement à la suite des données feuille nommée Data Total
Voila le code à coller dans un module et associer à un bouton
Sub test()
Sheets("Feuil2").Select
Range(Range("C5"), Range("E" & Sheets("Input").Range("C11"))).Copy
Sheets("Data Total").Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
ce code copie la plage de la feuille nommée Feuil2 (ne connaissant pas le nom de cette feuille) définie par la cellule C11 de la feuille Input
et colle directement à la suite des données feuille nommée Data Total
Re,
quelle ligne se met en jaune,
celle ci
Range(Range("C5"), Range("E" & Sheets("Input").Range("C11"))).Copy
ou celle ci
Sheets("Data Total").Activate
quelle ligne se met en jaune,
celle ci
Range(Range("C5"), Range("E" & Sheets("Input").Range("C11"))).Copy
ou celle ci
Sheets("Data Total").Activate
Ah j'ai trouvé l'erreur! En gros c'etait parce que en C11, ma valeur est obtenue en faisant la moyenne de deux valeurs donc j'avais C11=(C9+C10)/2.
Dois je obligatoirement avoir uniquement une valeur ou est ce possible de conserver C11 en tant que moyenne de deux valeurs?
Enfinca m'a collé mon tableau au debut de mon onglet Data Total alors qu'il y avaitdeja des données dans ce tableau. Est ce que tu penses que c'est possible de le coller a la fin du tableau?
Merci beaucoup c'est super!!
Dois je obligatoirement avoir uniquement une valeur ou est ce possible de conserver C11 en tant que moyenne de deux valeurs?
Enfinca m'a collé mon tableau au debut de mon onglet Data Total alors qu'il y avaitdeja des données dans ce tableau. Est ce que tu penses que c'est possible de le coller a la fin du tableau?
Merci beaucoup c'est super!!
Re,
Bizarre, il n'y a rien qui puisse bloquer, dans ta cellule C11 de la feuille Imput tu as bien une valeur, c'est cette valeur qui détermine la hauteur de la plage à copier
Bizarre, il n'y a rien qui puisse bloquer, dans ta cellule C11 de la feuille Imput tu as bien une valeur, c'est cette valeur qui détermine la hauteur de la plage à copier
Re,
tu peux utiliser la formule mais le problème sont les décimales, si la moyenne tombe un chiffre entier pas de problème, mais si la moyenne à des décimales il est impossible de sélectionner une fraction de ligne ou tu complètes la formule pour avoir une valeur entière pour sélectionner une ligne supplémentaire et le code fonctionnera
Au passage ta formule =(C9+C10)/2 donne la moyenne, tu pourrais écrire comme cela =MOYENNE(C9:C10)
tu peux utiliser la formule mais le problème sont les décimales, si la moyenne tombe un chiffre entier pas de problème, mais si la moyenne à des décimales il est impossible de sélectionner une fraction de ligne ou tu complètes la formule pour avoir une valeur entière pour sélectionner une ligne supplémentaire et le code fonctionnera
Au passage ta formule =(C9+C10)/2 donne la moyenne, tu pourrais écrire comme cela =MOYENNE(C9:C10)
Merci de prendre le temps de m'aider. Oui il s'agit d'une valeur numérique qui est pour le moment 74000.
Merci encore pour ton aide,
D