Récupération de données et mise en forme
Résolu
ramio31
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- Récupération de données et mise en forme
- Mise en forme conditionnelle excel - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise en forme tableau croisé dynamique - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
- Supprimer les données de navigation - Guide
5 réponses
Bonjour,
1- tu as mis deux images de ta feuille Feuil1. De manière générale, il vaut mieux faire passer un fichier plutôt qu'une image.
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com
Va sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
2- Un peu de lecture
3- Ta solution, donc, par Mr Boisgontier :
1- tu as mis deux images de ta feuille Feuil1. De manière générale, il vaut mieux faire passer un fichier plutôt qu'une image.
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com
Va sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
2- Un peu de lecture
3- Ta solution, donc, par Mr Boisgontier :
Sub CompteItems() Dim mondico As Object, c As Variant Set mondico = CreateObject("Scripting.Dictionary") For Each c In Sheets("Feuil1").Range("a2", [a65000].End(xlUp)) mondico(c.Value) = mondico(c.Value) + 1 Next c Sheets("Feuil2").[c2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys) Sheets("Feuil2").[d2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items) End Sub
Bonjour,
Je te remercie pour ta réponse. Je vais me mettre au travail pour voir ce que ça donne et tenir au courant ici.
Le lien comme tu me l'as expliqué : https://www.cjoint.com/?0JuqTs57Wft
Encore merci pour ton aide.
Je te remercie pour ta réponse. Je vais me mettre au travail pour voir ce que ça donne et tenir au courant ici.
Le lien comme tu me l'as expliqué : https://www.cjoint.com/?0JuqTs57Wft
Encore merci pour ton aide.
Rebonjour, la macro fonctionne très bien merci.
J'aurais une autre question :
Avec les nouvelles feuilles que j'ai créées (car plusieurs fichiers sources), je veux créer des formules dans une feuille appelée "feuilleFormula" qui reprendront les valeurs fréquences et données et qui seront de ce type :
sheets("feuilleFormule").Cells(2,2).FormulaR1C1 = "=RiskDiscrete({Donnée1,Donnée2,Donnée3,.....,DonnéeX},{Freq1,Freq2,Freq3,.....FreqX})"
(Données et fréquence de la feuille 1 par exemple)
sheets("feuilleFormule").Cells(2,2).FormulaR1C1 = "=RiskDiscrete({Donnée1,Donnée2,Donnée3,.....,DonnéeY},{Freq1,Freq2,Freq3,...FreqY})"
(Données et fréquence de la feuille 2 par exemple)
Donc ma question serait quelle macro pour intégrer toutes les données et fréquences dans ma formule tout en faisant référence à la bonne feuille.
Merci
J'aurais une autre question :
Avec les nouvelles feuilles que j'ai créées (car plusieurs fichiers sources), je veux créer des formules dans une feuille appelée "feuilleFormula" qui reprendront les valeurs fréquences et données et qui seront de ce type :
sheets("feuilleFormule").Cells(2,2).FormulaR1C1 = "=RiskDiscrete({Donnée1,Donnée2,Donnée3,.....,DonnéeX},{Freq1,Freq2,Freq3,.....FreqX})"
(Données et fréquence de la feuille 1 par exemple)
sheets("feuilleFormule").Cells(2,2).FormulaR1C1 = "=RiskDiscrete({Donnée1,Donnée2,Donnée3,.....,DonnéeY},{Freq1,Freq2,Freq3,...FreqY})"
(Données et fréquence de la feuille 2 par exemple)
Donc ma question serait quelle macro pour intégrer toutes les données et fréquences dans ma formule tout en faisant référence à la bonne feuille.
Merci
Pas besoin de boucle, ... selon le type de formule.
Tu peux, sans doute, y intégrer un Array... Un peu comme ceci :
Tu peux, sans doute, y intégrer un Array... Un peu comme ceci :
Dim dl As Long, ArrayDonnees(), ArrayFreq()
dl = Sheets("Feuil2").Range("C" & Rows.Count).End(xlUp).Row
ArrayDonnees = Sheets("Feuil2").Range("C2:C" & dl).Value 'Données
ArrayFreq = Sheets("Feuil2").Range("D2:D" & dl).Value 'Fréquences
Sheets("Feuil2").Cells(2, 6).FormulaLocal = "=RiskDiscrete(ArrayDonnees, ArrayFreq)"
Je n'arrive pas à savoir ce que renvoie Array.
Renvoie t'elle une ligne du type : {donnée1,donnée2,..} ?
Car lorsque j'exécute le code ça ne fonctionne pas.
Renvoie t'elle une ligne du type : {donnée1,donnée2,..} ?
Car lorsque j'exécute le code ça ne fonctionne pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui j'ai bien compris mais ici Array me renvoie bizarrement la 1ère valeur de la plage. Connais tu une fonction qui permet de récupérer toute une plage d'une colonne et de l'écrire sous cette forme :
{1,5,6,9,10}
Merci
{1,5,6,9,10}
Merci
C'est bon pijaku,
Je suis resté sur ma 1ère idée avec une boucle for et j'ai enfin réussi!
L'incrémentation se fair plutôt comme ca :
For I = 1 to 50
Expression = Expression & "," & Worksheets("MaFeuille").cells(i, 1)
Next I
Du coup je récupère ma plage que je peux écrire directement dans ma formule.
Merci beaucoup a toi pour ton aide
Je suis resté sur ma 1ère idée avec une boucle for et j'ai enfin réussi!
L'incrémentation se fair plutôt comme ca :
For I = 1 to 50
Expression = Expression & "," & Worksheets("MaFeuille").cells(i, 1)
Next I
Du coup je récupère ma plage que je peux écrire directement dans ma formule.
Merci beaucoup a toi pour ton aide