RESOLU - macro ajoute 33 en trop

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai un souci de modification d'une macro qui m'avait été transmise par un membre su site (je n'ai pas retrouvé le fil) et qui fonctionne très bien :

Code:
Sub AjouteN33()
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveWorkbook.ActiveSheet.Select
ActiveSheet.Unprotect Password:="Krameri"
[B]ActiveCell.Offset(0, -8).Select[/B]
Dim Lg%, i%
    Application.ScreenUpdating = False
    Lg = Range("n65536").End(xlUp).Row
        For i = 4 To Lg
            If Left(Cells(i, "n"), 2) <> "33" And Cells(i, "n") <> "" Then
                Cells(i, "n") = "33" & Cells(i, "n")
            End If
        Next i
ActiveCell.Offset(0, 8).Select
End Sub

la fonction de cette macro est d'ajouter un 33 devant tout numéro de téléphone saisi.
Cette macro ajoute le 33 sur toutes les lignes qui contiennent un numéro de téléphone.

Je souhaiterai que cet ajout ne se fasse que sur la cellule concerné : ActiveCell.Offset(0, -8).Select

Évidemment, malgré tous mes essais, je n'ai pas réussi à la modifier valablement.

Pourriez-vous m'aider encore une fois ?
Un grand merci à vous tous,
Amicalement,
Calimero,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : MOdification d'une macro

Re-bonjour,

"PS : mais on peut évidemment le faire sans macro, en allant dans les options, options avancées, décocher "Déplacement après validation"

J'utilise en permanence plusieurs classeurs simultanément et je crois que modifier les options m'obligerait à modifier en permanence ?
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : MOdification d'une macro

Re- A toutes et à tous,

Ci-joint mon classeur modifié avec message d'erreur si n° non conforme.

Un grand Merci pour toute l'aide que vous m'avez apporté ... comme toujours vous êtes super :)
Amicalement,
Lionel,

RECTIFICATION DE MON MESSAGE CI-DESSOUS

J'ai refait des essais avec vos codes et je viens de m'apercevoir que cela solutionne mon souci 1 donc c'est génial.
L'idéal serait que votre code ne fasse "effet" que dans la saisie dans la feuille pour les col G et H
Mais là, je rêve LOL

Un grand merci il ne me reste plus que mon souci 2 :
2 - si je saisie un n° qui commence par 33 ou 333 etc … ou pire si les 9 chiffres ne sont que des 3 … pas d'ajout de 33 devant.

Re BHBH,

J'ai testé mais le classeur test n'est qu'une petite partie du classeur complet.
Je préfère insérer dans le code de la feuille le code : Target.Select
Mais cela ne me permet pas de résoudre mes soucis 1 et 2.

Un grand merci de m'avoir répondu.

Je joins le classeur,
Amicalement,
Lionel,
 

Pièces jointes

  • Ajoute 33 test 57.xlsm
    29.9 KB · Affichages: 17
  • Ajoute 33 test 57.xlsm
    29.9 KB · Affichages: 20
  • Ajoute 33 test 57.xlsm
    29.9 KB · Affichages: 21
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : MOdification d'une macro

Bonjour à toutes et à tous,

Bon sang, j'y ai passé pratiquement une semaine sur ce truc LOL.
Et je vous ai fait passer du temps à vous aussi. Je vous remercie de votre gentillesse.

J'ai fini par résoudre mon souci n° deux :
Quand je saisissais un n° qui contenait un ou plusieurs chiffres 3 devant, le 33 ne s'ajoutait pas.

Il m'a suffit "tout bêtement" de passer par une formule supplémentaire : =SI(H9<>"";33&H9;"")

Bien évidemment, sans votre aide car grâce à vous mes autres soucis ont été résolus, je n'en serais pas arrivé jusque-là.
Toujours grâce à vous, je suis prêt pour demain et je pourrai travailler dans de biens meilleures conditions.

Si cela peut profiter à quelqu'un de novice en VBA et le reste, comme moi, je joins le classeur qui fonctionne cette fois-ci super bien.

Merci, Merci, Merci
Bonne fin de dimanche à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • Ajoute Devant.xlsm
    26.2 KB · Affichages: 22
  • Ajoute Devant.xlsm
    26.2 KB · Affichages: 22
  • Ajoute Devant.xlsm
    26.2 KB · Affichages: 27
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : MOdification d'une macro

Re à toutes et à tous,

Petite cerise sur le gâteau ......

Si à la copie du n° sur site, je ne prends pas tout les n°, j'ai voulu une sécurité et l'affichage d'un message d'erreur.
Côté sécurité, tout va bien LOl
Côté message d'erreur, le message que m'affiche "validation des données" n'est pas à mon goût LOL

Je souhaite l'affichage d'un msgBox sous condition. Mais voilà, je ne sais pas l'intégrer dans le code de la feuille qui est le suivant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("G7:G2000")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Call AjouteDevantG
'Call ExecuteBox
End If

Set KeyCells = Range("H7:H2000")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Call AjouteDevantH
'Call ExecuteBox
End If
Application.EnableEvents = 0: Application.EnableEvents = 1 '...revient
ActiveSheet.Protect Password:="Krameri", DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlNoRestrictions
Application.EnableEvents = True
End Sub

Il faudrait que le msgBox s'affiche si la cellule : < à 99999999 et > à 999999999
Je joins le dernier classeur,
Pourriez-vous m'aider une dernière fois (pour ce fil LOL) ?

Avec mes remerciements pour toutes les aides et solutions que vous m'apportez,
je vous souhaite à toutes et à tous une très bonne nuit,
Amicalement,
Lionel,
 

Pièces jointes

  • Ajoute Devant.xlsm
    26.5 KB · Affichages: 26
  • Ajoute Devant.xlsm
    26.5 KB · Affichages: 22
  • Ajoute Devant.xlsm
    26.5 KB · Affichages: 13

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
macro ajoute 33 en trop

Bonjour à toutes et à tous,

Je reviens sur ce fil car il m'est apparu un problème que je n'avais pas prévu.
Tout d'abord, je tiens encore à vous remercier car grâce à vous, j'ai pu faire quelque chose qui fonctionne bien et qui est très pratique.

Voici mon souci :

si on re-clique sur la cellule pour X raison ET QUE L'ON VALIDE PAR ERREUR, un 33 s'ajoute au précédent déjà ajouté et les 2 derniers chiffres sont effacés

ma question :
est-il possible que la macro n'ajoute pas le 33 si la cellule contient déjà un numéro ?

Je n'arrive pas "coder" afin que la macro s'exécute que si la cellule est vide.

Pourriez-vous encore m'aider ?
Je joins le classeur test.

Un grand Merci à vous tous,
Amicalement,
Calimero,
 

Pièces jointes

  • Ajoute Devant.xlsm
    28.6 KB · Affichages: 15
  • Ajoute Devant.xlsm
    28.6 KB · Affichages: 17
  • Ajoute Devant.xlsm
    28.6 KB · Affichages: 30
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : MOdification d'une macro

Bonjour à toutes et à tous,

Je reviens sur ce fil car il m'est apparu un problème que je n'avais pas prévu.
Tout d'abord, je tiens encore à vous remercier car grâce à vous, j'ai pu faire quelque chose qui fonctionne bien et qui est très pratique.

Voici mon souci :

si on re-clique sur la cellule pour X raison ET QUE L'ON VALIDE PAR ERREUR, un 33 s'ajoute au précédent déjà ajouté et les 2 derniers chiffres sont effacés

ma question :
est-il possible que la macro n'ajoute pas le 33 si la cellule contient déjà un numéro ?

Je n'arrive pas "coder" afin que la macro s'exécute que si la cellule est vide.

Pourriez-vous encore m'aider ?
Je joins le classeur test.

Un grand Merci à vous tous,
Amicalement,
Calimero,
 

Pièces jointes

  • Ajoute Devant.xlsm
    28.6 KB · Affichages: 19
  • Ajoute Devant.xlsm
    28.6 KB · Affichages: 26
  • Ajoute Devant.xlsm
    28.6 KB · Affichages: 34

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino