Formulation VBA

Résolu/Fermé
Erw1 - 13 mars 2014 à 21:50
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 14 mars 2014 à 00:17
Bonsoir,

je suis actuellement stagiaire dans une boite de production industriel. En début de semaine mon tuteur m'a dit: "il faudrait que tu mettes en place un indicateur visuel pour nous aider à suivre la prod. Fait ça avec des macros Excel, ça ne devrait pas poser de problème". Sur le coup j'ai dit oui, mais en vrai je ne savais pas du tout de quoi il me parlait :)

Bref. J'ai passé une partie de ma semaine sur le projet et je me retrouve bloqué dans l'écriture de mon code. En effet, je dois sélectionner des cellules qui ne sont pas accolées les une aux autres) puis les coller sur une autre page pour les mettre en forme. Mon problème se situe sur le "copier des cellules qui ne sont pas accolées".
En fait, je récupère le numéro de la ligne qui m'intéresse (je l'appelle numeroLigne) et après je sélectionne les cellules qui m'intéressent sur la ligne en question.
J'ai essayé:

Range("DnumeroLigne:EnumeroLigne,GnumeroLigne:HnumeroLigne").Select

Mais cela ne marche pas. J'ai écumer les sites avec l'internet restreint de ma boite, mais je n'ai pas trouvé de solution.

Pourriez-vous m'indiquer la syntaxe pour ce genre de manip?
Merci beaucoup par avance!

5 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
13 mars 2014 à 23:29
Essaies :
n = 3
Union(Range("D" & n & ":E" & n), Range("G" & n & ":H" & n)).Select
1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
13 mars 2014 à 23:31
PS : évites le .Select et mets directement .Copy destination
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié par eriiic le 13/03/2014 à 23:35
Bonsoir,

pour copier coller :
lig = 3
Range("D" & lig & ":E" & lig & ",G" & lig & ":H" & lig).Copy Destination:=Sheets("Feuil2").Range("A1")

eric

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
1
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
13 mars 2014 à 22:13
Bonsoir

Range demande l'adresse sous la forme lettre de colonne et N° de ligne
ex Range ("B2") ou Range("B" & n) ou n est une variable

Si tu as le n° de ligne et le n° de colonne il faut utiliser cells

Cells(2,4) est la cellule en ligne et colonne 4

Cdlmnt
0
Pour le coup j'ai tenté ceci:

numeroLigne = 3
Range("D" & numeroLigne, "E" & numeroLigne, "G" & numeroLigne, "H" & numeroLigne).Select

Mais cela ne marche pas mieux :/


Comment on fait pour inscrire dans Range une succession de cellules désignées par quleque chose du genre : "B" & n ?



PS: Merci beaucoup pour le coup de main fort agréable!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ça marche!! Merci infiniment pour votre aide!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
14 mars 2014 à 00:17
Ok, je met en résolu pour toi.
En haut vers ton titre pour la prochaine fois.
eric
0