Code vba
Résolu/Fermé
A voir également:
- Code vba
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
4 réponses
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
649
5 août 2016 à 16:44
5 août 2016 à 16:44
Salut,
Dis moi ce que tu essayes de faire pour commencer.
Pourquoi mets-tu des crochets?
Dis moi ce que tu essayes de faire pour commencer.
Pourquoi mets-tu des crochets?
Utilisateur anonyme
7 août 2016 à 13:50
7 août 2016 à 13:50
Bonjour Hafidi,
Pour commencer, je déconseille vivement de nommer une Sub
avec un nom de feuille, donc pas de Sub Feuil2() ! Choisis un
autre nom, de préférence plus explicite, mais pas trop long
quand même ! Exemple : CopyNomsClients()
Tu n'as pas indiqué sur quelle ligne est ton erreur de compilation !
Mais je pense que c'est sur ta ligne #5, n'est-ce-pas ? Essaye :
Mais comme l'as noté Pierre1310, ce serait mieux que tu nous
indique d'abord ce que tu essayes de faire :
Pour la copie que tu veux faire, précise la source : feuille et plage
de cellules ; donnes les mêmes précisions pour la destination.
Est-ce que ta copie doit aussi prendre en compte Feuil3 ?
Ou l'as-tu mis par erreur au lieu de Feuil2 ?
Sans savoir ce que tu veux vraiment faire, et sans voir ton classeur
(organisation de tes données), difficile de déterminer quoi faire !
De plus, je crois que ton cl.Resize(1, 5) est inutile et complique
ton code pour rien !
À te lire, cordialement. 😊
Pour commencer, je déconseille vivement de nommer une Sub
avec un nom de feuille, donc pas de Sub Feuil2() ! Choisis un
autre nom, de préférence plus explicite, mais pas trop long
quand même ! Exemple : CopyNomsClients()
Tu n'as pas indiqué sur quelle ligne est ton erreur de compilation !
Mais je pense que c'est sur ta ligne #5, n'est-ce-pas ? Essaye :
Dim dlig As Long ' dernière ligne dlig = Range("B" & Rows.Count).End(xlUp).Row For Each cl In Range("B2:B" & dlig) ... Next cl
Mais comme l'as noté Pierre1310, ce serait mieux que tu nous
indique d'abord ce que tu essayes de faire :
Pour la copie que tu veux faire, précise la source : feuille et plage
de cellules ; donnes les mêmes précisions pour la destination.
Est-ce que ta copie doit aussi prendre en compte Feuil3 ?
Ou l'as-tu mis par erreur au lieu de Feuil2 ?
Sans savoir ce que tu veux vraiment faire, et sans voir ton classeur
(organisation de tes données), difficile de déterminer quoi faire !
De plus, je crois que ton cl.Resize(1, 5) est inutile et complique
ton code pour rien !
À te lire, cordialement. 😊
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
649
7 août 2016 à 17:30
7 août 2016 à 17:30
Si tu veux vraiment mettre le long à la suite d'une chaîne de caractère (ce qui est impossible dans tous les langages), il faut que tu le stocke au préalable dans une variable de type char (caractère) et seulement la tu pourras mettre ta donnée à la suite d'une chaîne de caractère.
J’espère que tu as compris ce que je veux dire.
J’espère que tu as compris ce que je veux dire.
Utilisateur anonyme
>
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
7 août 2016 à 17:42
7 août 2016 à 17:42
Si, j'ai bien compris ce que tu veux dire ; mais en fait, c'est inutile de faire
ce que tu proposes car VBA fait une conversion automatique et implicite
du nombre dlig en chaîne de caractères afin de pouvoir concaténer celle-
ci avec "B2:B". Fais l'essai : tu verras qu'il n'y a ni erreur de compilation,
ni erreur d'exécution, et tu auras le résultat attendu. Cordialement. 😊
ce que tu proposes car VBA fait une conversion automatique et implicite
du nombre dlig en chaîne de caractères afin de pouvoir concaténer celle-
ci avec "B2:B". Fais l'essai : tu verras qu'il n'y a ni erreur de compilation,
ni erreur d'exécution, et tu auras le résultat attendu. Cordialement. 😊
Problème résolu merci pour les explications et Bravo pour les conseils Je suis en train de faire mes premiers pas dans le vba (mon souci etait de transferer des données d'une feuille à une atre) j'aurais besoin de vous mon email est le suivant ***@*** à bientôt hafidi
Bonsoir hafidi,
La règle sur le site CCM est de se tutoyer, dans le respect et la courtoisie.
Tu peux donc me tutoyer toi aussi.
Je suis content que mes explications t'ont aidé à résoudre ton problème,
et que tu as apprécié mes conseils.
Puisque ton problème est réglé, merci d'aller en haut de page pour cliquer
sur le lien « Marquer comme résolu ».
--------------------------------------------------------
Attention : un forum est comme une place publique où tout le monde peut
lire tes messages. Aussi, pour des raisons de confidentialité, ton adresse
mail a été masquée par le système (cela pour tes 2 messages #6 et #7).
Tu peux poster ton message sur le forum, mais si tu as quelque chose
de privé et confidentiel à me dire, tu peux cliquer sur mon pseudo, puis
cliquer sur le bouton bleu « Lui écrire un message ».
Mais pour que je puisse te répondre, il faut que tu t'inscrive sur le site CCM
(c'est entièrement gratuit, et sans aucune obligation d'achat). De plus,
il faudra aussi que la case à cocher suivante soit décochée :
☐ Empêcher les autres membres de vous envoyer des messages privés.
--------------------------------------------------------
C'est avec plaisir que je t'aiderai pour ce que tu veux me demander,
si toutefois c'est dans mes compétences.
Cordialement. 😊
La règle sur le site CCM est de se tutoyer, dans le respect et la courtoisie.
Tu peux donc me tutoyer toi aussi.
Je suis content que mes explications t'ont aidé à résoudre ton problème,
et que tu as apprécié mes conseils.
Puisque ton problème est réglé, merci d'aller en haut de page pour cliquer
sur le lien « Marquer comme résolu ».
--------------------------------------------------------
Attention : un forum est comme une place publique où tout le monde peut
lire tes messages. Aussi, pour des raisons de confidentialité, ton adresse
mail a été masquée par le système (cela pour tes 2 messages #6 et #7).
Tu peux poster ton message sur le forum, mais si tu as quelque chose
de privé et confidentiel à me dire, tu peux cliquer sur mon pseudo, puis
cliquer sur le bouton bleu « Lui écrire un message ».
Mais pour que je puisse te répondre, il faut que tu t'inscrive sur le site CCM
(c'est entièrement gratuit, et sans aucune obligation d'achat). De plus,
il faudra aussi que la case à cocher suivante soit décochée :
☐ Empêcher les autres membres de vous envoyer des messages privés.
--------------------------------------------------------
C'est avec plaisir que je t'aiderai pour ce que tu veux me demander,
si toutefois c'est dans mes compétences.
Cordialement. 😊
mon email est le suivant (***@***)
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
649
7 août 2016 à 20:51
7 août 2016 à 20:51
Poste ici si tu as besoin d'aide.
hafidi
>
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
7 août 2016 à 21:22
7 août 2016 à 21:22
Merci
Bonsoir hafidi, j'ai bien vu tes 2 messages #6 et #7, et tu peux
aller lire mon message #9 ; à te lire, cordialement. 😊
aller lire mon message #9 ; à te lire, cordialement. 😊
7 août 2016 à 13:01
Voici la raison des crochets : [K1] est une façon abrégée d'écrire Range("K1")
mais il faut mettre des crochets pour que VBA ne le confonde pas avec un
nom K1 (nom de variable, d'une constante, ou autre).
Attention : il y a des cas où l'écriture abrégée avec crochets ne peut pas être
utilisée ; il faut alors mettre quand même Range("K1").
Cordialement. 😊