Lire les lignes d'une feuille

Bonjour,

je ne suis pas très familier de VB.

Je voudrais savoir quel est le moyen le + simple de lire toutes les lignes d'une feuille pour les écrire dans une autre feuille.

Autre question:

peut-on utiliser les fonctions dans le code VB, par exemple celles sur les chaines de caratère et est-ce que la syntaxe est la même?

D'avance merci

Chistian

Bonjour

Cela dépend ......

Les lire juste pour les copier, ou d'abord les analyser, les modifier , les trier etc .....

Autant de cas autant de solutions

Oui pour la 2ème question (sauf erreur car pas toutes testées) avec l'objet WorksheetFunction

La syntaxe est la même pour les paramètres transmis, virgule(,) à la place de point-virgule (;)

Sauf le nom de la fonction qui doit être en anglais

exemple

x = WorksheetFunction.Max(150, 120)

Pour les chaines de caractères il y a Left, Right, Mid, Ucase, Lcase, Instr, Rinstr, Replace ....

Une bonne recherche te permettra de trouver d'autres réponses

Bonne journée

En fait, pour chaque cellule de chaque ligne je voudrais appeler un module en lui passant la valeur de la cellule et obtenir en retour la valeur à écrire dans la 2ème feuille.

Merci pour la réponse à la 2ème question.

Amicalement

Christian

Bonjour

Pas très clair (pour moi)

Dans une feuille inscrits ce que tu as et ce que tu veux

Style

dans la case A1 j'ai xxx et je voudrais en case B2 de la feuille "titi" le résulatat de A1 * Pi

A suivre

Bonne journée

Pour être plus clair je voudrais:

Pour i = 1 à n

Lire ligne i de feuil1

appel module toto avec valeur colonne C

Ecrire ligne i de feuil2 avec

contenu A feuill1 dans A feuill2

contenu B feuill1 dans B feuill2

contenu retour module toto dans C feuill2

contenu D feuill1 dans D feuill2

Fin

J'imagine que c'est simple mais c'est mes 1er pas dans VB ...

Merci de votre patience

Bonjour

A voir, à décortiquer, à critiquer, à modifier, mais surtout à comprendre

Un grand merci; j'ai presque tout compris!

juste 2 questions sur l'expression suivante

In Range("A1:A" & Range("A65536").End(xlUp).Row)

1) on ne peut pas mettre Range("A1:A65536")?

2) c'est pas génant de faire le travail jusqu'à la ligne 65536 quand on a que 20 lignes renseignées?

La touche F1 quand on est en edit sur la macro c'est génial! je ne connaissait pas.

Amicalement

Christian

Bonjour

Oui on pourrait mais serait inutile (perte de temps)

Range("A1:A" & Range("A65536").End(xlUp).Row)

Cela sert à délimiter la zone pour ne faire que les lignes qui ne sont pas vides

Si tu fais

MsgBox "Zone : " & Range("A1:A" & Range("A65536").End(xlUp).Row).Address

Tu verras que la zone englobe que les lignes non vides

A voir

https://www.excel-pratique.com/fr/vba.php?a=vba

Bonne journée

C'est parfait, merci

Rechercher des sujets similaires à "lire lignes feuille"