Problème d'écriture macro

Bonsoir le forum

J'ai un souci pour écrire dans une macro 1, 2, 3 afin que celle-ci remplace ces trois nombres par un mot (PasDeSyndic) dans une colonne (B) d'une feuille.

Sub Remplacer()

Dim Feuille As Worksheet, Cel As Range, DrLig As Long, PremiereLigne As Integer

Dim Aremplacer As String, RemplacerPar As String, Colonne As String

Aremplacer = "1" Or "2" Or "3"

RemplacerPar = "PasDeSyndic"

et Feuille = Worksheets("PasDeSyndic")

Colonne = "B"

PremiereLigne = 2

End Sub

D'avance je vous remercie pour votre aide et votre disponibilité

Bonsoir pourrais tu fournir un fichier cela serait plus facile pour t'aider.

Cordialement.

Bonsoir le forum

Bonsoir bigdaddy154

Merci pour ta disponibilité, je ne peux pas mettre le fichier ce soir, mais j'essaierai demain

Bonsoir,

Sub Remplacer()
    Dim i%, n%
    With ActiveSheet
        n = .Cells(.Rows.Count, 2).End(xlUp).Row
        For i = 2 To n
            Select Case .Cells(i, 2).Value
                Case 1 To 3
                    .Cells(i, 2).Value = "Pas de syndic"
            End Select
        Next i
    End With
End Sub

Juste pour que tu étudies de plus près comment écrire une macro. Reste une ambiguïté sur le type de valeurs des 1, 2 et 3 : numérique ou textuel (j'ai opté pour des nombres, à rectifier le cas échéant).

Cordialement

Bonsoir le forum

Merci MFerrand pour ta disponibilité

Ca fonctionne impec,

Si je comprends bien en mettant "%" en suivant "n", je définis le numérique?

Merci beaucoup pour l'aide apportée.

Cela déclare une variable de type Integer

Bye

Bonsoir le forum

Bonsoir MFerrand et bigdaddy 154 merci pour votre aide

MFerrand ta macro est super, mais ton style d'écriture ne ressemble pas à ce que j'ai l'habitude de voir.

Je suis encore avec mes déclaration du style " Dim n as integer", comment trouve-ton ces correspondances?

Bonjour,

eole-33 a écrit :

comment trouve-ton ces correspondances?

Par exemple, ici : variables (voir la colonne "Symbole" du tableau)

Cordialement,

Bonjour le forum

Ok merci Sebastien

si je comprends bien au lieu d'écrire

'Déclaration des variables

Dim nom As String, prenom As String, age As Integer, numero_ligne As Integer

je peux écrire comme ça

'Déclaration des variables

Dim nom As String, prenom As String, age %, numero_ligne %

Tu peux écrire :

Dim nom$, prenom$, age%, numero_ligne%

[attention ! pas d'espace entre le nom de la variable et le caractère qui définit le type]

$ = As String

% = As Integer

& = As Long

! = As Single

# = As Double

(Outre le lien donné par Sébastien, la définition d'un type de données dans l'aide t'indique le caractère de définition de type, s'il y en a un.)

Bonsoir le forum

Ok merci pour ta réponse MFerrand, mais où avez vous appris tout ça, mis à part le forum?

Moi je suis au stade où il faut que je vois ce que fait la macro et la décortiquer pour comprendre comment ça fonctionne, après je la commente et je stock les morceaux afin de pouvoir m'en reservir plus tard

On apprend au fil du temps, comme tu dois déjà le savoir... à partir des erreurs qu'on fait quand on parvient à comprendre où cela résidait et comment régler un problème ou le contourner, en continuant d'essayer jusqu'à trouver une solution qui fonctionne...

Reste persuadé qu'il y a toujours plusieurs solutions à un problème et qu'il n'y a aucune raison que tu ne finisses pas par en trouver une (au moins !) Si quelques connaissances de base sont toujours bien utiles pour utiliser au mieux VBA (portée des variables, boucles, tableaux...) l'essentiel demeure de bien définir ce que tu veux réaliser, dans le détail. Si un projet est complètement pensé, la programmation n'est plus alors que la recherche des éléments techniques appropriés pour le réaliser, problèmes infiniment plus aisés à résoudre que si la conception n'est pas finalisée.

Bon courage et à une prochaine...

Bon dimanche.

Ferrand

Bonsoir le forum

Merci à vous tous pour votre aide et votre disponibilité

Bonne soirée

Rechercher des sujets similaires à "probleme ecriture macro"