Macro: contrôler l'entête de mes 90 colonnes

  • Initiateur de la discussion Initiateur de la discussion roidurif
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

roidurif

XLDnaute Occasionnel
Bonjour,

J'essaye de créer une macro qui me permettra de contrôler si l'entête de mes 90 colonne de mon tableau n 'ont pas été modifié, supprimée ou déplacée. Pour cela j'ai ecrit ça mais je suis pas sur de moi

Merci

Code:
Sub test2()
With Sheets("Feuil1")
If Range("A6") <> "Nom" Then
If Range("A2") <> "Prénom" Then
If Range("A3") <> "Code" Then
If Range("A4") <> "DIV" Then
If Range("A5") <> "TEST" Then
MsgBox ("L'entête d'une colonne a soit été modifiée/supprimée/déplacé")
End If
End If
End If
End If
End If
End With
End Sub
cordialement
 
Re : Macro: contrôler l'entête de mes 90 colonnes

bonjour roidurif, RENAUDER,

voici ton code modifié :
Code:
Sub test()
Dim messageErreur As String
messageErreur = "L'entête d'une colonne a soit été modifiée/supprimée/déplacé"
With Sheets("Feuil1")
    If .Range("A6").Value <> "Nom" Then MsgBox messageErreur: Exit Sub
    If .Range("A2").Value <> "Prénom" Then MsgBox messageErreur: Exit Sub
    If .Range("A3").Value <> "Code" Then MsgBox messageErreur: Exit Sub
    If .Range("A4").Value <> "DIV" Then MsgBox messageErreur: Exit Sub
    If .Range("A5").Value <> "TEST" Then MsgBox messageErreur: Exit Sub
End With
End Sub

et une autre macro qui sera peut-être plus facile à adapter pour 90 cellules :
Code:
Sub test2()
Dim adresses(), valeurs(), i As Integer
adresses = Array("A6", "A2", "A3", "A4", "A5")
valeurs = Array("Nom", "Prénom", "Code", "DIV", "TEST")
For i = LBound(adresses) To UBound(adresses)
    If Sheets("Feuil1").Range(adresses(i)).Value <> valeurs(i) Then MsgBox "Erreur": Exit Sub
Next i
End Sub

la solution de RENAUDER est pas mal non plus 😉

a+
 
Re : Macro: contrôler l'entête de mes 90 colonnes

bonjour roidurif

je te propose ceci a adapter

Code:
Sub test()
noms_col = Array("a", "b", "c", "d", "e", "f", "g", "h")
lettre_col = Array("A", "B", "C", "D", "E", "F", "G", "H")
For n = LBound(noms_col) To UBound(noms_col)
  If Range(lettre_col(n) & 1) <> noms_col(n) Then MsgBox ("La colonne " & noms_col(n) & " a été modifiiée")
Next n
End Sub
 

Pièces jointes

Re : Macro: contrôler l'entête de mes 90 colonnes

Bonjour à tous


Roidurif :

Est-tu sur de lire (voire de comprendre)
les réponses qu'on laisse dans tes multiples posts ???

https://www.excel-downloads.com/threads/macro-types-de-caracteres.119335/
https://www.excel-downloads.com/threads/macro-controle-nombre-caractere-rapidement.118671/
http://www.developpez.net/forums/d7...-excel/macro-lente-controle-nombre-caractere/

car la syntaxe proposée par pierrejean, je te l'avais déja indiqué

Pourquoi ne pas l'avoir réutilisée ?
 
Dernière édition:
Re : Macro: contrôler l'entête de mes 90 colonnes

Bonjour pierrejean,

j'aimerai lancer cette macro a partir de la feuil1, j'ai rajouté
Code:
With sheets ("Feuil2")
au code suivant:
Code:
Sub test()
With sheets ("Feuil2")
noms_col = Array("a", "b", "c", "d", "e", "f", "g", "h")
lettre_col = Array("A", "B", "C", "D", "E", "F", "G", "H")
For n = LBound(noms_col) To UBound(noms_col)
  If Range(lettre_col(n) & 1) <> noms_col(n) Then MsgBox ("La colonne " & noms_col(n) & " a été modifiiée")
Next n
End with
End Sub
Mais ça n' a pas l'air de fonctionner, car il faut que la feuil2 soit active,

Peut être une aide votre part?

Merci


Cordialement
 
Re : Macro: contrôler l'entête de mes 90 colonnes

bonjour le fil,

essaye avec ce code:
Code:
Sub test()
With Sheets("Feuil2")
noms_col = Array("a", "b", "c", "d", "e", "f", "g", "h")
lettre_col = Array("A", "B", "C", "D", "E", "F", "G", "H")
For n = LBound(noms_col) To UBound(noms_col)
  If [B][COLOR=Red].[/COLOR][/B]Range(lettre_col(n) & 1) <> noms_col(n) Then MsgBox ("La colonne " & noms_col(n) & " a été modifiiée")
Next n
End With
End Sub

a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
742
Retour