Macro pour modifier en-tête + contenu d'un classeur excel choisi

Résolu/Fermé
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022 - 22 nov. 2017 à 18:24
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022 - 23 nov. 2017 à 09:17
Bonjour, je travail actuellement sur un fichier avec macro qui me permettrait de modifier un classeur choisi par l'utilisateur (modification en-tête de colonnes + ajout de colonnes)

Voici mon code :

Sub MiseEnForme()
    
    'Mise en forme des entêtes :
    If Range("A1") = "cond." Then: Range("A1").Value = "COLISAGE"
    If Range("B1") = "code fab." Then: Range("B1").Value = "REF_FAB"
    If Range("C1") = "désignation" Then: Range("C1").Value = "DESIGNATION"
    
    If Range("F1") = "prix total" Then: Range("F1").Value = "PRIX_ACHAT"
    
    If Range("G1") = "hiérarchie Niveau 2" Then: Range("G1").Value = "FAMILLE"
    If Range("H1") = "hiérarchie Niveau 3" Then: Range("H1").Value = "SS_FAMILLE"
    
    
    'ajout du -D aux réf :
        
    Application.ScreenUpdating = False
    If Right(Range("B2").Value, 2) = "-D" Then
        MsgBox ("ATTENTION : cette action a déjà été effectué dans cette table (vérifier cellule B2 = *-D)")

    Else:
        Dim cell As Range
        For Each cell In Range("B2:B50000")
        cell.Value = cell.Value + "-D"
    Next cell
    
    End If
    
    'Vérification des étapes :
    If Range("A1") = "COLISAGE" And Range("B1") = "REF_FAB" _
    And Range("C1") = "DESIGNATION" And Range("F1") = "PRIX_ACHAT" _
    And Range("G1") = "FAMILLE" And Range("H1") = "SS_FAMILLE" _
    And Right(Range("B2").Value, 2) = "-D" _
    Then: Range("R1").Value = "OK, aucun problème"
    
    
End Sub


Il renomme des en-têtes de colonnes et ajoute un -D à la suite de la Ref Fabricant

Mon souci principal est qu'il me retourne une erreur :
"Erreur d'exécution '13':
Incompatibilité de type"

Dans un premier temps j'aimerai comprendre cette erreur et la corriger

Puis dans un second temps j'aurais besoin de votre aide pour que ces modifications s'applique à un autre classeur Excel qui serait choisi par l'utilisateur.

Merci d'avance pour votre aide
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
22 nov. 2017 à 21:44
Bonjour,

'il me retourne une erreur : "Erreur d'exécution '13':
C'est les types de données qui sont incompatibles mais sur quelle ligne as-tu l'erreur ?
Si c'est
        cell.Value = cell.Value + "-D"

il faut remplacer + par & car + fait un calcul et "-D" est du texte.
1
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
23 nov. 2017 à 09:15
Super c'était ça (l'habitude du C# à mettre des +) merci beaucoup mon erreur est résolu
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
22 nov. 2017 à 21:46
bonsoir, dans un premier temps, peux-tu indiquer sur quelle ligne l'erreur se produit?
dans un second temps, je suggère de réécrire la ligne 24:
cell.Value = cstr(cell.Value) + "-D"
0
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
23 nov. 2017 à 09:17
Merci pour ta réponse yg_be, gbinforme a trouvé la source du problème :)
0