bonsoir, j’ai besoin de votre aide, mon fichier d’excel contient 4 colomn, j’ai fait un regroupement selon la 4éme colomn, maintenant je veux calculer le nombre des lignes de chaque groupe, merci d’avance
Bonsoir,
pour que nous puissions apporter notre aide, il va falloir partager votre fichier mais sans données confidentielles
test.xlsm (25,9 Ko)
voici mon fichier, c’est en fichier test alors que l’original contint des centaine de lignes
merci d’avance
Si j’ai bien compris, dans la 5ème colonne, il faut le nombre d’enfants rattachés au père pour la même famille ?
Je vous reposte votre fichier, avec plusieurs formules :
sisima05_test.xlsm (32,8 Ko)
bonjour,
oui c’est bien ce que je cherche merci infiniment pour votre aide
cordialement
bonsoir, desolé mais je dois le faire par macro, donc j’ai reflichi à calculer la distance entre « enfant » mais pour le group suivant c’est pas possible, voici la macro que j’ai utilisé
Sub cnt()
Dim k As Long
k = 0
For i = 3 To Rows.Count
If Cells(i, 1).Value = Cells(i - 1, 1).Value And Cells(i, 4).Value = « enfant » Then
Cells(i + 1, 5).Value = CStr(i - 1) - k
End If
k = CStr(i - 1)
Next i
Exit Sub
End Sub
en faite je veux que k contient la distance et puis l’enlever de la distance suivante comme ceci j’aurais le resultat recherché
je suis ouverte à d’autre fonction il me suffit d’avoir le resultat chérché
merci infiniment
Bonjour
Beaucoup de mal à comprendre ton attente
Un exemple écrit dans ton fichier pour un résultat attendu avec quelques explications sur son obtention permettrait d’y voir plus clair
Si je m’en tiens à cette demande :
« en faite je veux que k contient la distance et puis l’enlever de la distance suivante comme ceci j’aurais le resultat recherché »
Il me semble que cette ligne de code est mal placée :
k = CStr(i - 1)
Je la remonterai dans le code comme ceci :
Sub cnt()
Dim k As Long
k = 0
For i = 3 To Rows.Count
If Cells(i, 1).Value = Cells(i - 1, 1).Value And Cells(i, 4).Value = « enfant » Then
Cells(i + 1, 5).Value = CStr(i - 1) - k
k = CStr(i - 1)
End If
Next i
Exit Sub
End Sub
Autre chose cette ligne de code :
Exit Sub
là où elle est placée fais double emploi avec la ligne de code qui suit :
End Sub
Ces 2 lignes ont le même effet à savoir d’arrêter le traitement donc une seule suffit
J’enlèverai Exit Sub et garderai End Sub indispensable à l’écriture du code
Pour un traitement plus rapide remplace cette ligne de code :
For i = 3 To Rows.Count
Par
For i = 3 To Range(« A » & Rows.Count).End(xlUp).Row
Avec ton code tu traites de la ligne 3 à la dernière ligne de l’onglet (1048576)
Avec cette proposition tu traites de la ligne 3 à la dernière ligne ayant une donnée de la colonne A soit dans ton fichier fourni (10)
Le temps d’exécution s’en porte beaucoup mieux
Testes ce traitement ainsi modifié et dis moi si il répond à ton besoin
bonjours, je vous présente le fichier joint un exemple de mon fichier, ce que je cherche c’est une macro qui me permet de calculer le nombre d’enfant pour chaque pére et le mettre dans la column nbr d’enfant, pour la modification que vs avez fait ça marche mais le resultat n’est pas affiché dans sa place, si vous avez une idée ou est l’erreur je vous remerci
cordialement
test.xlsm (26,3 Ko)
Ci-joint ton fichier avec une nouvelle macro
Attention que le Père soit toujours en dernier par rapport aux enfants et à son écriture colonne D :
père et non pére (l’accent grave est à mettre et non aigu)
Pour les 2 familles j’obtiens 3 enfants mis en colonne E ligne du père
En cliquant sur le bouton « Traitement » fais différents essais
Donnes moi leur résultat
test (2-2).xlsm (28,9 Ko)
Une amélioration de traitement dans cette version ci-jointe
A récupérer en lieu et place de la précédente
test (2-2).xlsm (29,1 Ko)
merci infiniment, c’est ce que je cherchais, si vous pouvez me suggerer une chaine youtube ou un site internet pour m’améliorer en macro vba, je suis déboutante et je trouve des difficulté pour les projets ds le boulot, merci encore
Pas facile de te proposer un tuto sur la programmation
La seule méthode que je connaisse et que j’ai moi même pratiquée c’est de mettre les mains dans le cambouis
Je n’ai jamais suivi de formation de quelle nature que ce soit
Il faut s’approprier la démarche la manière d’obtenir un attendu en fonction d’une situation initiale
Il est inutile d’ingurgiter des lignes de codes juste en comprendre l’approche le déroulement pour obtenir ce que l’on veut
Après pour la mettre en musique s’aider de l’enregistreur de macro des sources inépuisable d’internet de faire appel à des forum au coup par coup comme celui-ci pour obtenir la bonne syntaxe les bonnes instructions la pratique fera le reste
C’est ce que moi même je fais même aujourd’hui et j’apprends tous les jours des uns et des autres
Retrousser les manches et ne pas hésiter et il n’y aura pas un jour sans progresser
A ta disposition pour t’aider dans cet esprit
Bonjour
FFO cela fait plusieurs mois que je te suis sur le forum j ai aussi énormément appris avec toi.En lisant aussi ta réponse sur se former je suis en complète adéquation avec toi ,mais voudrai ajouter avant de se lancer dans le VBA il serait souhaitable de connaitre quelques fonctions le site https://excel-malin.com/cours-vba-excel-gratuit-en-ligne/ est déjà une approche utile pour débuter
Merci pour toute l’aide que tu nous apportes
Orguyrine
Tout le plaisir est pour moi
Me rendre utile
Partager mon savoir
Donner de mon temps au bénéfice du temps de ceux qui le partage
Un bonheur donné c’est le mien qui est assuré
Gagnant gagnant
De te lire en donne tout le sens
Merci
merci beaucoup, c’est ce que je fait en faite, et j’ai réussit à m’améliorer, merci encore une fois
cordialement
Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.