Programmation VBA
obelix
-
Papou93 Messages postés 146 Date d'inscription Statut Membre Dernière intervention -
Papou93 Messages postés 146 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite automatiser la création un nouveau tableau excel par le biais vba, a partir une extraction d'information rapatriée dans excel :
pour cela , j'ai besoin de compter le nombre de ligne (x)non vide , à partir de la lgne 8. il me faut copier les valeurs de la colonne B de la ligne 8 à ligne (8+x)de la feuille 1 et coller ces valeurs sur la feuille 2 à partir de la ligne 16 sur la colonne F. puis copier la colonne D de feuille 1 de la ligne (8 à 8+x-3) et coller les valleurs sur la feuille 2 dans la colonne G à partir de la ligne 16 et convertir ces valeurs en nombre.
je vous remercie d'avance de vous pencher sur ce probléme et de me coconseiller lpour la réalisation de mon projet
je souhaite automatiser la création un nouveau tableau excel par le biais vba, a partir une extraction d'information rapatriée dans excel :
pour cela , j'ai besoin de compter le nombre de ligne (x)non vide , à partir de la lgne 8. il me faut copier les valeurs de la colonne B de la ligne 8 à ligne (8+x)de la feuille 1 et coller ces valeurs sur la feuille 2 à partir de la ligne 16 sur la colonne F. puis copier la colonne D de feuille 1 de la ligne (8 à 8+x-3) et coller les valleurs sur la feuille 2 dans la colonne G à partir de la ligne 16 et convertir ces valeurs en nombre.
je vous remercie d'avance de vous pencher sur ce probléme et de me coconseiller lpour la réalisation de mon projet
A voir également:
- Programmation VBA
- Application de programmation - Guide
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
2 réponses
Bonjour,
Pourquoi vouloir utiliser vba pour qu'une cellule soit égale à une autre ? mettre dans F16 =feuil1!B8 dans ta 2nde feuille n'est pas suffisant ?
Convertir valeur en nombre...
si c'est 5 (le caractere) la conversion se fait toute seule. A la limite tu fais = 'ta_chaine_representant_un_nombre' * 1 pour forcer la conversion. Maintenant si ton nombre est inclu dans une chaine et que tu désires l'extraire il faudrait que l'on sache à quoi ressemble cette chaine
eric
Pourquoi vouloir utiliser vba pour qu'une cellule soit égale à une autre ? mettre dans F16 =feuil1!B8 dans ta 2nde feuille n'est pas suffisant ?
Convertir valeur en nombre...
si c'est 5 (le caractere) la conversion se fait toute seule. A la limite tu fais = 'ta_chaine_representant_un_nombre' * 1 pour forcer la conversion. Maintenant si ton nombre est inclu dans une chaine et que tu désires l'extraire il faudrait que l'on sache à quoi ressemble cette chaine
eric
Bonjour obelix,
Voici une façon de faire :
Je pense que les commentaires se suffisent à eux-mêmes.
Cette macro est à placer dans un module de code. Tu peux ensuite l'appeler par un événement de ton choix.
Espérant t'avoir aidé,
Cordialement.
Voici une façon de faire :
Sub Copie() Dim Dlg As Long ' Variable représentant la dernière ligne du tableau ' Récupère le N° de la dernière ligne du tableau Dlg = Sheets("Feuil1").Range("B65536").End(xlUp).Row ' Recopie les cellules dans la feuille 2 With Sheets("Feuil2") For lg = 8 To Dlg .Cells(lg, 6) = Sheets("Feuil1").Cells(lg, 2) If lg <= Dlg - 3 Then .Cells(lg, 7) = Sheets("Feuil1").Cells(lg, 4) End If Next End With End Sub
Je pense que les commentaires se suffisent à eux-mêmes.
Cette macro est à placer dans un module de code. Tu peux ensuite l'appeler par un événement de ton choix.
Espérant t'avoir aidé,
Cordialement.