Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1920 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Petit programme simple pour débutant VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Petit programme simple pour débutant VBA

n°1664764
Minouchon
Posté le 02-01-2008 à 15:16:07  profilanswer
 

Bonjour,
 
j'ai une collonne de nombre (un nombre par cellule). Je souhaite, en appuyant sur un bouton, copier tous ces nombres dans une seule cellule, en les séparant pas des virgules.
 
Y a t'il une fonction particuliaire qui permettrait de faire ça ?
 
Merci d'avance !

mood
Publicité
Posté le 02-01-2008 à 15:16:07  profilanswer
 

n°1664769
MagicBuzz
Posté le 02-01-2008 à 15:20:18  profilanswer
 

=concatenate(A1:A255) par exemple

n°1664775
Minouchon
Posté le 02-01-2008 à 15:25:26  profilanswer
 

Merci,
 
j'ai écris :
 
Private Sub CommandButton1_Click()
Sheets("feuil1" ).Cells(2, 2) = concatenate("A1:A10" )
End Sub
 
Mais cela ne marche pas ! je sais pas comment corriger le problème...

n°1664787
MagicBuzz
Posté le 02-01-2008 à 15:32:23  profilanswer
 

Sheets("feuil1" ).Cells(2, 2).Formula = "concatenate(""A1:A10"" )"
 
(ou un truc du genre...)
utilise l'enregistreur de macro pour voir quoi mettre exactement.
 
.Value2 doit marcher aussi, et faut mettre un "=" devant la forumule, histoirede faire comprendre à excel que c'est une formule


Message édité par MagicBuzz le 02-01-2008 à 15:33:27
n°1664796
Minouchon
Posté le 02-01-2008 à 15:40:13  profilanswer
 

Moi y en a pas yarriver ! Le truc c'est qu'il écrit texto : "concatenate("A1:A10" )" dans la cellule B2. J'ai l'impression qu'il ne pige pas la fonction "concatenate"

n°1664829
MagicBuzz
Posté le 02-01-2008 à 16:16:49  profilanswer
 

1/ prends juste ta feuille excel et teste la forume "concatenate" (parcequ'en plus, si t'as un excel en français, c'est peut-être concatener() ou concatene() ou encore jyletoutcolleensemble(), c'est toujours la merde d'une version d'excel à l'autre, les noms de fonctions étant traduits...
 
2/ une foisque ça marche, utilise l'enregistreur de macro. saisi ta formule, et regarde le code qu'il t'as généré, t'aura plus qu'à faire un copier/coller du petit bout qui t'intéresse...

n°1664920
kiki29
Posté le 02-01-2008 à 19:36:09  profilanswer
 

Soir Bon, histoire de faire avancer le smilblic
Sous forme de Fonction Personnalisée

Option Explicit
 
Function ConCat(Rng As Range) As String
Dim c As Range
Dim sStr As String
     
    sStr = ""
    For Each c In Rng
        sStr = sStr & c
    Next c
     
    ConCat = sStr
End Function


 
Création Fonction Personnalisée
-------------------------------
Le code est à placer dans un Module standard  
[Alt+F11] Menu Insertion | Module  
 
Ensuite sous Excel  
 Sélectionner la cellule de destination  
 Menu Insertion | Fonction | Catégorie : Personnalisées  
 Sélectionner la Fonction_Désirée
 l'assistant apparait etc  
 
Sinon par exemple B1=ConCat(A1:A10)


Message édité par kiki29 le 02-01-2008 à 19:45:27
n°1665040
seniorpapo​u
Posté le 03-01-2008 à 07:07:58  profilanswer
 

Bonjour,
Je ne peux pas tester, mais notre ami minouchon n'aurait-il pas demandé de séparer PAR des virgules et non pas PAS des virgules!!??
Ce qui pourrait se faire en plaçant les valeurs dans une array puis en faisant un "join"  (défense de le fumer)
Cordialement

n°1665199
MagicBuzz
Posté le 03-01-2008 à 14:43:33  profilanswer
 

ouais, m'enfin, en même temps...
 
1/ join() ou dérivés n'existe pas en VBA
2/ y'a 5 caractères exactement à taper en plus dans l'exemple de kiki pour ajouter la virgule en question
 
donc si entre concat() et l'exemple de kiki, l'auteur du topic s'en sort pas, vaut mieux qu'il envisage sérieusement une reconversion en tant que moine boudhiste, il a plusde chances de réussir...

n°1665369
kiki29
Posté le 03-01-2008 à 17:54:33  profilanswer
 

Soir Bon, Désolé MagicBuzz mais Join et Split existe en VBA sauf sur Excel 97 et inférieur

mood
Publicité
Posté le 03-01-2008 à 17:54:33  profilanswer
 

n°1665450
MagicBuzz
Posté le 03-01-2008 à 19:50:23  profilanswer
 

Split, oui, je savais, mais Join, tu m'étonnes.
Bonne nouvelle alors !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Petit programme simple pour débutant VBA

 

Sujets relatifs
Commande VBA Archiver dans Outlook 2003question de débutant que je suis
Conseil pour débutant: mise en place de galerie avec backoffice[EXCEL/VBA] Intersection avec une courbe lissée [RESOLU]
Problème code VBA[ADA - débutant] Concaténer 2 listes
Lex Yacc , petit analyseur syntaxique ...[fortran]Comment compiler puis executer un programme .f90?
[VBA] Ajout automatique d'une ligne dans une liste déroulanteprogramme lecture de mp3 en C#
Plus de sujets relatifs à : Petit programme simple pour débutant VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR