× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Macro excel pour calcul d’itérationSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
userinfo
  Posté le 12/05/2019 @ 18:27 
Aller en bas de la page 
Nouvel astucien
Bonjours,

J’ai 62 longue listing (62 Etat).

Je souhaite faire une macro excel pour calculer le nombre d’itération des nombres dans la colonne ‘C’ et mettre le résultat dans un tableau déjà tracé.

Ceci pour chaque Etat.

A noter que :

  • Le nombre de ligne de chaque Etat varie,
  • Chaque état commence par le mot ‘’Etat’’ et se termine par une ligne vide puis le mot ‘END’

Pour le moment j’ai procédé à faire le calcul pour chaque état de façon manuel avec la fonction Excel NB.SI ;

avec cette fonction, qui reste statique, je suis obligé de sélectionner chaque liste et faire le calcul puis copier la formule dans les dix-huit case.

Ci-dessous la capture d’écran d’un exemple réduit de trois états.

Un grand merci pour votre aide.

Publicité
Debrief
 Posté le 12/05/2019 à 23:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Pourquoi n'enverrais-tu pas ton fichier pour faciliter les essais ?

D.

Et aussi... Pourquoi Etat 1 est décalé par rapport aux autres Etat 2, Etat 3 ?

Il faut le descendre "Etat" de A1 en A2 et et "1" de A2 en A3 pour que ce soit homogène...et utiliser ce module à importer dans ton code VBA -> https://www.cjoint.com/c/IEmwovg5Ddl

Cordialement,
D.



Modifié par Debrief le 13/05/2019 00:22
userinfo
 Posté le 13/05/2019 à 13:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

bonjour,

Merci Debrief de ton aide a mon sujet.

Ci-joint le lien de mon fichier excel https://www.cjoint.com/c/IEnlLZkHGgh

Dans la capture d’écran de mon post dernier, j'ai pas voulu encombrer le fichier pour qu'il soit clair et lisible..seulement j'ai supprimé

des lignes sans le vouloir lors du traçage des tableaux qui recevront les résultats, qui en faite j'aimerais bien les regrouper dans un seule tableau de

soixante deux lignes dans une autre feuille.

Merci.

Debrief
 Posté le 13/05/2019 à 17:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Voici le fichier Excel avec la Macro et un bouton pour l'appeler -> https://www.cjoint.com/c/IEnpXOWo2Qe

La valorisation des résultats se fait dans la feuille "Résultats".

J'ai laissé la valorisation des tableaux dans la feuille "listing". Si tu veux la supprimer, supprime l'instruction GoSub ReportFréquences.

Et éventuellement aussi la séquence de ReportFréquences: à Return qui ne servirait alors plus à rien.

Debrief
 Posté le 13/05/2019 à 18:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Comme tu as décalé tous les Tags "Etat" vers le haut au lieu de décaler le 1er vers le bas, les résultats sur la feuille "listing" écrasent leur ligne titre.

Je ne l'avais pas remarqué. Voici un fichier corrige -> https://www.cjoint.com/c/IEnqtfj1Sle

Edit: A noter que pour la macro le début de la série de chiffres commence sur la ligne du tag "Etat" et finit sur la ligne du tag "END".
Donc les lignes à blanc ne servent à rien, surtout si tu supprimes les résultats de la feuille
"listing" qui doivent tenir compte du décalage (+3) entre la ligne du tag "Etat" et la ligne des résultats.



Modifié par Debrief le 13/05/2019 18:26
userinfo
 Posté le 13/05/2019 à 22:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bonsoir,

Excellent travail Debrief. Ta solution est bien adéquate à ma requête.

Je vais supprimer les tableaux individuels de la feuille "listing" et garder un seule tableau

récapitulatif de la feuille Résultat’.

Encore une fois, un grand merci de tes efforts.

userinfo
 Posté le 13/05/2019 à 23:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Re-bonsoir,

je reviens encore vers toi Debrief. Voila quand j'essaye de mettre mon fichier source dans la feuille 'listing' et je l'exécute, il me renvoi un message

de bug qui disait qu'il y a un dépassement de capacité au niveau de la foncion NoBCUID = CInt (CelTag.Offset (1,0).Value

Les numéros d’Etat pour mon fichier source sont des grands nombres, exemple 100542, 130025 Et qui ne sont pas séquentiel.

Et quand je change manuellement le numéro de l’Etat en 1 puis la suivante en 2 comme dans l’exemple de mon post, le fichier se bug a la ligne qui a le numéro d’Etat plus grand.

Peux-tu m’indiquer si il te plais ou puis-je intervenir dans le fichier que tu m’a envoyé pour remédier a ceci.

Merci.

Debrief
 Posté le 14/05/2019 à 00:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il faut que tu remplaces la déclaration:

Dim NoEtat As Integer par Dim NoEtat As Long

et l'instruction:

NoEtat = CInt(CelTag.Offset(1, 0).Value) par NoEtat = CLng(CelTag.Offset(1, 0).Value)

Les Integer sont limités de -32.768 à 32.767.
Les Long sont limités de -2.147.483.648 à 2.147.483.647. J'espère que ça sera suffisant.

Si les références des États n'étaient pas toujours numériques (contenant des caractères autres que des chiffres) il faudrait les traiter en String.

D.



Modifié par Debrief le 14/05/2019 00:49
userinfo
 Posté le 14/05/2019 à 03:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bonsoir,

Merci beaucoup de ton soutien. Cette fois la macro marche sans faute.

Merci.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
199,99 €Ecran PC 27 pouces Dell S2721DS (QHD, IPS, 75 Hz) à 199,99 €
Valable jusqu'au 30 Novembre

Fnac fait une promotion sur l'écran PC 27 pouces Dell S2721DS qui passe à 199,99 € au lieu de plus de 250 € ailleurs. L'écran à cadre fin dispose d'une dalle IPS QHD (2560x1440 pixels) à 75 Hz. Il est compatible Freesync et dispose de 2 prises HDMI et 1 prise DP. Il dispose de haut-parleurs intégrés (2x3W) et son pied est réglable en hauteur.


> Voir l'offre
99,98 €Kit 2.1 THX Logitech Z623 à 99,98 €
Valable jusqu'au 01 Décembre

Amazon propose le Kit 2.1 THX Logitech Z623 à 99,98 € alors qu'on le trouve ailleurs autour de 140 €. Ce très bon kit d'enceintes supporte une puissance de 200W, est accompagné d'un caisson de basses en bois et est certifié THX qui vous garantit un rendu sonore idéal pour vos films, vos jeux, ou vos séances d'écoute musicale.


> Voir l'offre
199 €Kit 5.1 Logitech Speaker System Z906 à 199 €
Valable jusqu'au 30 Novembre

Amazon fait une promotion sur le kit 5.1 Logitech Speaker System Z906 qui passe à 199 € livré gratuitement alors qu'on le trouve ailleurs à partir de 250 €. Avec une puissance de diffusion de 500 watts (RMS), ce système 5.1 certifié THX produit un son de qualité cinéma. Profitez d'un contrôle total sur votre système multimédia grâce à ses entrées numériques et analogiques, un pupitre de commande facile à lire et empilable et une télécommande sans fil.


> Voir l'offre

Sujets relatifs
Macro excel pour attribution de lot
Creation d' une boucle macro dans fichier EXCEL pour impression
Macro pour ouverture d'un fichier Excel
Macro pour créer un Gencode sur Excel - EAN 18
Macro pour un envoi feuille excel par mail
Macro excel pour enregistrer
macro excel pour convertir données
EXCEL RECHERCHEV pour autre fichier. Macro?
macro pour passer de word vers excel
calcul pour excel
Plus de sujets relatifs à Macro excel pour calcul d’itération
 > Tous les forums > Forum Bureautique