Besoin d'aide pour créer une macro excel

Résolu
cilor Messages postés 3 Date d'inscription lundi 20 septembre 2010 Statut Membre Dernière intervention 23 février 2011 - 20 sept. 2010 à 11:41
jordane45 Messages postés 38157 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 22 sept. 2010 à 17:21
Bonjour à tous,
Je ne connais pas du tout le visual basic. Je souhaite créer une macro qui nommerait les cellules dont le contenu commencerait par PA par leur contenu.
Je savais faire cela en Excel 4, mais dans Excel 2003, les fonctions que j'utilisais n'existent plus.

Est-ce que quelqu'un pourrait m'aider à trouver une solution ?

Merci.

Cordialement.

Cilor.

5 réponses

jordane45 Messages postés 38157 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
20 sept. 2010 à 13:36
Bonjour,

je pense que ceci devrait correspondre à tes besoins.
Sub Nom_cell()

Dim MaPlage As Range 'plage ou travailler
    Set MaPlage = Range("A1:A10")
    ' boucle sur la plage de cellules
    For Each cell In MaPlage
        cell.Select
        ' recuperation du contenu de la cellule
        valeur = cell.Value
        ' test si commence par "PA" ( en majuscule ou minuscule)
        If UCase(Left(valeur, 2)) = "PA" Then
            'coordonnées de la cellule
            Cellule = "R" & cell.Row & "C" & cell.Column
            ' "Nomage de la cellule
            ActiveWorkbook.Names.Add Name:=valeur, RefersToR1C1:="=Feuil1!" & Cellule
        End If
    Next 'prochaine cellule de la plage
End Sub



A modifier selon tes envies

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
3
jordane45 Messages postés 38157 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
22 sept. 2010 à 09:48
Bonjour,
Ce que tu dois modifier c'est uniquement la plage où travailler.
Set MaPlage = Range("A1:A10")


Pour ce qui est du R et du C, c'est pour l'utilisation de la fonction
"RefersToR1C1:=" qui s'utilise de la façon suivante :
RefersToR1C1:="= Nom de la feuille ! Ligne / Colonne de cellule concernée."
R signifiant : ROW (ligne en anglais)
C Signifiant : COLUMN (colonne en anglais).

Exemple : si je veux renomer la cellule B5, j'aurais écris "en dur" :
ActiveWorkbook.Names.Add Name: =valeur, RefersToR1C1:="=Feuil1!R5C2"


J'ai donc réécrit la fonction REFERSTOR1C1.. en utilisant les coordonnées de la cellule sur lquelle il doit travailler :
Cellule = "R" & cell.Row & "C" & cell.Column
ActiveWorkbook.Names.Add Name:=valeur, RefersToR1C1:="=Feuil1!" & Cellule


j'espère que ces indications vont pouvoir t'aider.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
3
cilor Messages postés 3 Date d'inscription lundi 20 septembre 2010 Statut Membre Dernière intervention 23 février 2011
22 sept. 2010 à 09:11
Bonjour Jordane et surtout merci pour ton aide.

Je viens juste de tester, ça fonctionne bien. Mais si tout ce qui est en rouge est à modifier, je ne comprends pas à quoi correspondent le R et le C. Peux tu m'éclaire la dessus ?

Encore merci à toi.

Cordialement.

Cilor.
0
cilor Messages postés 3 Date d'inscription lundi 20 septembre 2010 Statut Membre Dernière intervention 23 février 2011
22 sept. 2010 à 16:45
Excellent, j'ai tout compris . Ton explication est à la hauteur de mon ignorance. Tu ferais un bon professeur (mais tu l'es peut-être dèjà!).

Merci pout tout.

Cordialement.

Cilor.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38157 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
22 sept. 2010 à 17:21
Bonjour,

Tu ferais un bon professeur (mais tu l'es peut-être dèjà!).


ben en fait j'étais jusqu'à récemment formateur (bureautique et applications métiers clients...)

En tout cas n'hésites pas à revenir sur le fofo si tu as de nouvelles questions.

par contre, penses à passer le sujet en résolu.
Bonne continuation.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous