Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tester la première ligne d'une feuille

5 réponses
Avatar
pegase
J'aimerais avec une macro tester la première ligne d'une feuille.
Si cette ligne A a déjà les entêtes de colonne (adresse ville etc...) ne
rien faire sinon insérer cette ligne d'entêtes.
Merci

5 réponses

Avatar
Mousnynao
Bonjour,

Suggestion :

Sub TestPremiereLigne()

Dim Plage As Variant

Plage = Array("Nom", "Adresse", "Ville")
If (ActiveSheet.Range("A1").Value = "") Then
Range("A1:C1").Value = Plage
End If

End Sub

Mousnynao


J'aimerais avec une macro tester la première ligne d'une feuille.
Si cette ligne A a déjà les entêtes de colonne (adresse ville etc...) ne
rien faire sinon insérer cette ligne d'entêtes.
Merci





Avatar
Michel Pierron
Bonsoir pegase;
Si c'est vraiment une ligne d'entête:

' Retourne le nombre de lignes d'entêtes
Function Headers(sh As Worksheet) As Integer
Headers = sh.Cells(1, 1).CurrentRegion.ListHeaderRows
End Function

Sub Test
If Headers(ActiveSheet) then Exit Sub
' Sinon, ici ton code ...
'...
End Sub

MP

"pegase" a écrit dans le message de news:
433beb3c$0$31839$
J'aimerais avec une macro tester la première ligne d'une feuille.
Si cette ligne A a déjà les entêtes de colonne (adresse ville etc...) ne
rien faire sinon insérer cette ligne d'entêtes.
Merci




Avatar
pegase
En fait j'ai trouvé une solution
En fait j'ai les entêtes en Feuil3 ..que je copie et je colle sur la Feuil1
en Range("A1:E1) ...avec ceci ça marche
Il doit sûrement y avoir plus simple ;)
Sheets("Feuil1").Select
Range("A1").Select
If Not ActiveCell = "Nom Prénom" Then
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Sheets("Feuil3").Select
Range("A1:E1").Select
Selection.Copy
Sheets("Feuil1").Select
Range("A1").Select
ActiveSheet.Paste
End If



"pegase" a écrit dans le message de news:
433beb3c$0$31839$
J'aimerais avec une macro tester la première ligne d'une feuille.
Si cette ligne A a déjà les entêtes de colonne (adresse ville etc...) ne
rien faire sinon insérer cette ligne d'entêtes.
Merci



Avatar
Michel Pierron
Re pegase;

With Sheets("Feuil1")
If Not .Range("A1") = "Nom Prénom" Then
Sheets("Feuil3").Range("A1:E1").Copy
.Rows("1:1").Insert Shift:=xlDown
End If
End With

MP

"pegase" a écrit dans le message de news:
433c4c2a$0$4353$
En fait j'ai trouvé une solution
En fait j'ai les entêtes en Feuil3 ..que je copie et je colle sur la
Feuil1

en Range("A1:E1) ...avec ceci ça marche
Il doit sûrement y avoir plus simple ;)
Sheets("Feuil1").Select
Range("A1").Select
If Not ActiveCell = "Nom Prénom" Then
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Sheets("Feuil3").Select
Range("A1:E1").Select
Selection.Copy
Sheets("Feuil1").Select
Range("A1").Select
ActiveSheet.Paste
End If



"pegase" a écrit dans le message de news:
433beb3c$0$31839$
J'aimerais avec une macro tester la première ligne d'une feuille.
Si cette ligne A a déjà les entêtes de colonne (adresse ville etc...) ne
rien faire sinon insérer cette ligne d'entêtes.
Merci







Avatar
pegase
C'est vraiment mieux comme ça!!!
Merci bcp MP

"Michel Pierron" a écrit dans le message de news:

Re pegase;

With Sheets("Feuil1")
If Not .Range("A1") = "Nom Prénom" Then
Sheets("Feuil3").Range("A1:E1").Copy
.Rows("1:1").Insert Shift:=xlDown
End If
End With

MP

"pegase" a écrit dans le message de news:
433c4c2a$0$4353$
En fait j'ai trouvé une solution
En fait j'ai les entêtes en Feuil3 ..que je copie et je colle sur la
Feuil1

en Range("A1:E1) ...avec ceci ça marche
Il doit sûrement y avoir plus simple ;)
Sheets("Feuil1").Select
Range("A1").Select
If Not ActiveCell = "Nom Prénom" Then
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Sheets("Feuil3").Select
Range("A1:E1").Select
Selection.Copy
Sheets("Feuil1").Select
Range("A1").Select
ActiveSheet.Paste
End If



"pegase" a écrit dans le message de news:
433beb3c$0$31839$
J'aimerais avec une macro tester la première ligne d'une feuille.
Si cette ligne A a déjà les entêtes de colonne (adresse ville etc...)
ne
rien faire sinon insérer cette ligne d'entêtes.
Merci