Mayday:) afficher elements et nombres éléments colonne
Résolu/Fermé
Dimasinteger
Messages postés
6
Date d'inscription
samedi 9 mai 2015
Statut
Membre
Dernière intervention
11 mai 2015
-
9 mai 2015 à 17:05
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 12 mai 2015 à 08:18
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 12 mai 2015 à 08:18
4 réponses
ccm81
Messages postés
10850
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2024
2 403
9 mai 2015 à 17:26
9 mai 2015 à 17:26
Bonjour
Un exemple
https://www.cjoint.com/?3EjrPsBaoKG
Cdlmnt
Un exemple
https://www.cjoint.com/?3EjrPsBaoKG
Cdlmnt
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
9 mai 2015 à 17:40
9 mai 2015 à 17:40
Bonjour Dimas, bonjour le forum,
Afficher où ???
Peut-être comme ça :
Afficher où ???
Peut-être comme ça :
Sub Macro1() Dim O As Worksheet 'déclare lava raibel O (Onglet) Dim DL 'déclare la variable DL (Dernière ligne) Dim I As Integer 'déclare la variable I (Incrément) Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter) DL = O.Cells(Rows.Count, 1).End(xlUp).Row - 1 'définit la variable DL For I = 1 To DL 'boucle de lignes 1 à DL L = IIf(L = "", O.Cells(I, 1).Value, L & ", " & Cells(I, 1).Value) 'définit la liste L Next I 'prochaine ligne de la boucle MsgBox L & Chr(13) & DL & " éléments." 'affiche la liste et le nombre End Sub
Dimasinteger
Messages postés
6
Date d'inscription
samedi 9 mai 2015
Statut
Membre
Dernière intervention
11 mai 2015
9 mai 2015 à 18:02
9 mai 2015 à 18:02
FRanchement vous etes vraiment au top !! réactivité. ça fait plus d'une semaine que je passe des heures à chercher ce programme!! thank you so muchThauTheme.
VBA est vraiment un outil puissant lorsqu'il est maitrisé.
Si cela ne vous derange pas j'aurais plein de d'autre questions à vous poser un peu plus tard.
Merci ThauTheme et CCM81
VBA est vraiment un outil puissant lorsqu'il est maitrisé.
Si cela ne vous derange pas j'aurais plein de d'autre questions à vous poser un peu plus tard.
Merci ThauTheme et CCM81
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
9 mai 2015 à 18:33
9 mai 2015 à 18:33
Bonjour
Cela peut se faire sans vba
pour passer en horizontal: fonction transpose
pour le nombre déléments sans 99 la fonction nb(lazone avec99)-1
Cela peut se faire sans vba
pour passer en horizontal: fonction transpose
pour le nombre déléments sans 99 la fonction nb(lazone avec99)-1
Dimasinteger
Messages postés
6
Date d'inscription
samedi 9 mai 2015
Statut
Membre
Dernière intervention
11 mai 2015
11 mai 2015 à 21:26
11 mai 2015 à 21:26
Bonsoir Michel
Merci pour ta reponse mais le but est justement de m'initier à VBA qui reste encore très obsscur
Merci pour ta reponse mais le but est justement de m'initier à VBA qui reste encore très obsscur
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 10/05/2015 à 17:30
Modifié par michel_m le 10/05/2015 à 17:30
Bonjour,
Vraiment, je répète que ce problème se résoud par des formules :-((
voir du coté copier-coller-collage spécial-transposition
mais puisqu'il te faut absolument du VBA (sûr?)
pas besoin de boucle....
un code à adapter à ton contexte
ici
démarrage en A3
restitution horizontale à partir de D2
Nombre éléments avant 99 en D4
Mais si tu veux les résultats sur une seule cellule
Vraiment, je répète que ce problème se résoud par des formules :-((
voir du coté copier-coller-collage spécial-transposition
mais puisqu'il te faut absolument du VBA (sûr?)
pas besoin de boucle....
un code à adapter à ton contexte
ici
démarrage en A3
restitution horizontale à partir de D2
Nombre éléments avant 99 en D4
Sub transposer_()
Dim Fin99 As Byte, tampon
Application.ScreenUpdating = False
Fin99 = Columns("A").Find(what:=99, after:=Range("A2")).Row - 1
tampon = Application.Transpose(Range("A3:A" & Fin99))
Range("D2").Resize(1, UBound(tampon)) = tampon
Range("D4") = UBound(tampon)
End Sub
Mais si tu veux les résultats sur une seule cellule
Range("D2") = Join(tampon, ", ")Michel
Dimasinteger
Messages postés
6
Date d'inscription
samedi 9 mai 2015
Statut
Membre
Dernière intervention
11 mai 2015
11 mai 2015 à 21:32
11 mai 2015 à 21:32
Re bonsoir Michel
Il y a vraiment differentes manieres d'aboutir à un meme resultat.
Michel tu dois etre très performant sur VBA mais j'ai pas du tout le niveau pour comprendre ce programme. Beaucoup de personnes m'ont dit qu'avec:
DIM, IF,then,Else,Inpoutbox,Msgbox,While et When on pouvait réaliser beaucoup de programme. Néanmoins je garde ce programme pour le travailler un peu plus tard
Il y a vraiment differentes manieres d'aboutir à un meme resultat.
Michel tu dois etre très performant sur VBA mais j'ai pas du tout le niveau pour comprendre ce programme. Beaucoup de personnes m'ont dit qu'avec:
DIM, IF,then,Else,Inpoutbox,Msgbox,While et When on pouvait réaliser beaucoup de programme. Néanmoins je garde ce programme pour le travailler un peu plus tard
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 12/05/2015 à 08:54
Modifié par michel_m le 12/05/2015 à 08:54
Bonjour
j'ai pas du tout le niveau pour comprendre ce programme...
tu pourrais pratiquement réaliser mon code avec l'enregistreur de macros en utilisant les fonctions Excel classiques que je t'ai indiqué donc sans connaitre VBA...
DIM, IF,then,Else,Inpoutbox,Msgbox,While et When on pouvait réaliser beaucoup de programme
ces personnes ont enfoncé une porte ouverte!
seulement, il faut les utiliser que lorsqu' elles sont LA solution, ce qui n'est pas forcément le cas. en tout cas, méfie toi de ce genre de personnes qui croient tout savoir et le font savoir...
cordialement
EDIt: pour apprendre VBA
https://excel.developpez.com/cours/
j'ai pas du tout le niveau pour comprendre ce programme...
tu pourrais pratiquement réaliser mon code avec l'enregistreur de macros en utilisant les fonctions Excel classiques que je t'ai indiqué donc sans connaitre VBA...
DIM, IF,then,Else,Inpoutbox,Msgbox,While et When on pouvait réaliser beaucoup de programme
ces personnes ont enfoncé une porte ouverte!
seulement, il faut les utiliser que lorsqu' elles sont LA solution, ce qui n'est pas forcément le cas. en tout cas, méfie toi de ce genre de personnes qui croient tout savoir et le font savoir...
cordialement
EDIt: pour apprendre VBA
https://excel.developpez.com/cours/
9 mai 2015 à 17:54
Par contre comme je suis un novice VBA j'aimerais te demander si il était possible.
D'ecrire le programme en mode SUB et end sub et d'ecrire les commentaires VBA sur chaque ligne pour bien comprendre et m'initier à cette programmation.
Est ce réalisable ?
de plus j'essayais de réaliser ce programme avec la boucle While et Wend. J'etais à des années lumieres ?
Cordialement
9 mai 2015 à 19:17
Bonne suite en programmation
9 mai 2015 à 23:51
merci pour votre aide.
Reste plus qu'a bosser un peu :)
10 mai 2015 à 16:20
Admettons mes valeurs se trouvent en colonne 1 j'aimerais que le programme
- Inscrit les valeurs lues en G1
- Inscrit les nombres de valeurs en G2
ccm81 j'ai essayé de modifier ton programme pour tenir compte des éléments cités au dessus mais sans resultat. Erreur 1004
Suis je vraiment loin d'y aboutir ? il y a de l'idée ?
Sheets(1).Range("pla").Clear
Dim Ligne As Long, Lecture As String
' Tant que cells(ligne,1) non vide et different de 99
While Cells(Ligne, 1) <> "" And Cells(Ligne, 1) <> 99
Lecture = Lecture & Sheets(1).Cells(Ligne, 1).Value & ", "
Ligne = Ligne + 1
Wend
Sheets(1).Cells(1, 7).Value = Lecture
Modifié par ozone_ le 10/05/2015 à 16:33
Essaie quelque chose comme ceci.