Ajouter un incrément automatique par macro VBA

FEPOL

XLDnaute Nouveau
Bonjour chers amis,

Nouveau venu dans le monde du VBA, je me trouve confronté à un pb dans la gestion d'un tableau sur deux colonnes.
Nous aidons les jeunes à trouver un stage, un emploi, une formation, etc...
Mais souvent ils postulent sur trois, quatre, ou cinq offres, mais avec un seul numéro d'adhérent.

Ainsi, lors de la récupération des données du site et pour les exploiter sur Excel, je souhaite ajouter une racine d'incrémentation à l'identifiant.

Je précise....Le tableau contient deux colonnes, A: l'identifiant et B: l'intitulé de poste.

Je souhaite réaliser une macro qui va trier le fichier sur les identifiants, puis ajouter la racine"-0" à la premiere occurence, puis si un identifiant existe en deux exemplaires, le second aura la racine "-1", s'il y en à encore un il aura la racine "-2", etc..., puis quand le suivant change il reçoit à nouveau "-0" pour la première occurence, etc...
Exemple :
1548752 devient 1548752-0, le suivant 1548752-1, ect...

Par avance je vous adresse toute ma reconnaissance et mes remerciements.
Bien à vous ,
Josiel.
 

FEPOL

XLDnaute Nouveau
Re : Ajouter un incrément automatique par macro VBA

Re...
1000 Excuses pour une telle prise de tête, mais toujours le même message d'ereur, le solveur était bien coché...
J'ai fais des essais avec et sans résultat identique.

Je ne sais quoi vous dire d'autre que Merci...
Pourtant j'ai bien au bas mot une centaines de fichiers Excel qui ont des macro et ce depuis plus de 10 ans sans jamais avoir rencontré le pb...

Seule nouveauté, le "Scripting.Dictionary" dans cette ligne CreateObject("Scripting.Dictionary")
et la fonction Split(Cel.Value, "-") que je n'ai jamais vu dans les macro.

Toutefois merci pour votre participation et votre tentative pour nous aider.
A bientôt.
:):eek::)


Re-,

A tout hasard..... :eek:

Regarde dans "Outils/Macros complémentaires...."

et coche "Solveur"

Je n'en vois pas du tout la raison, mais comme je l'ai développé sur mon pc, et que cette macro complémentaire est cochée....

Vraiment à tout hasard....
 

FEPOL

XLDnaute Nouveau
Re : Ajouter un incrément automatique par macro VBA

Bonjour amis lecteurs,

Avec toute la bonne volonté et la persévérence de "bhbh" mais aussi de Pierrot93, Smotty... je suis toujours bloqué et cela handicap énormément nos actions vers les jeunes, étudiants et chercheurs d'emploi, de stages, d'apprentissages, de contrats-pro...

Si une bonne âme ou un génie, arrive à débloquer la situation il sera le bienvenu....

Encore Merci à tous et particulièrement à "bhbh" à qui j'adresse toute ma reconnaissance.
Josiel.
:rolleyes::):rolleyes:

Re-,

A tout hasard..... :eek:

Regarde dans "Outils/Macros complémentaires...."

et coche "Solveur"

Je n'en vois pas du tout la raison, mais comme je l'ai développé sur mon pc, et que cette macro complémentaire est cochée....

Vraiment à tout hasard....
 

FEPOL

XLDnaute Nouveau
Re : Ajouter un incrément automatique par macro VBA

Bonjour amis lecteurs,

Avec toute la bonne volonté et la persévérence de "bhbh" mais aussi de Pierrot93, Smotty... je suis toujours bloqué et cela handicap énormément nos actions vers les jeunes, étudiants et chercheurs d'emploi, de stages, d'apprentissages, de contrats-pro...

Si une bonne âme ou un génie, arrive à débloquer la situation il sera le bienvenu....

Encore Merci à tous et particulièrement à "bhbh" à qui j'adresse toute ma reconnaissance.
Josiel.
:rolleyes::):rolleyes:

Re-,

A tout hasard..... :eek:

Regarde dans "Outils/Macros complémentaires...."

et coche "Solveur"

Je n'en vois pas du tout la raison, mais comme je l'ai développé sur mon pc, et que cette macro complémentaire est cochée....

Vraiment à tout hasard....
 

Cousinhub

XLDnaute Barbatruc
Re : Ajouter un incrément automatique par macro VBA

Bonjour,

Essaie ce code, simplifié :

Code:
Sub postulant2()
Dim Cel As Range
Application.ScreenUpdating = False
For Each Cel In Range("A2", [A65000].End(xlUp))
    If InStr(1, Cel, "-") = 0 Then
        Cel.Value = Cel.Value & "-" & Application.CountIf(Range("$A$2", Cel.Address), Cel.Value & "-*")
    End If
Next Cel
End Sub

En espérant que cela fonctionne cette fois-ci...

Bonne journée
 
Dernière édition:

FEPOL

XLDnaute Nouveau
Re : Ajouter un incrément automatique par macro VBA

Merci.... un Énorme MERCI à "bhbh"... Ca Marche !

Bravo et félicitations, tant pour le travail que pour votre persévérence.
Ce n'est pas une épine que vous nous enlevez, mais un cactus.

Recevez l'expression de toute ma gratitude.
Bien à vous
Josiel.


Bonjour,

Essaie ce code, simplifié :

Code:
Sub postulant2()
Dim Cel As Range
Application.ScreenUpdating = False
For Each Cel In Range("A2", [A65000].End(xlUp))
    If InStr(1, Cel, "-") = 0 Then
        Cel.Value = Cel.Value & "-" & Application.CountIf(Range("$A$2", Cel.Address), Cel.Value & "-*")
    End If
Next Cel
End Sub

En espérant que cela fonctionne cette fois-ci...

Bonne journée
 

Discussions similaires

Réponses
0
Affichages
176
Réponses
3
Affichages
320

Statistiques des forums

Discussions
312 492
Messages
2 088 930
Membres
103 984
dernier inscrit
maliko67