Salut,
Quand tu dis
mon premier souci c'est que lorsque j'appui sur "E-mail" ca me génère des lignes vierges(en jaune) dans le tableau alors que ca ne devrait que me lancer la création de mails.
Ton souci viens de ce code
For j = 2 To dern1
If Range("H" & i) <> Range("O" & j) Then
cpt = cpt + 1
If cpt = dern1 Then
Range("O" & dern1 + 1) = Range("H" & i)
dern1 = dern1 + 1
cpt = 1
End If
End If
Next j
Tu cherches à faire quoi dans ce début de procédure ? Tester les valeurs des cellules pour chaque ligne du tableau, sur les colonnes O et H ? Si c'est cela
Tu n'a pas besoin de rechercher la dernière ligne du tableau.
Pour balayer toutes les lignes d'un tableau utilises ce style de code.
Dim lstO As ListObject
Dim lstR As ListRow
Set lstO = Range("Tableau1").ListObject
If Not lstO Is Nothing Then
For Each lstR In lstO.ListRows
If Range(lstO.ListColumns("N° Enquête").Index).Value <> _
Range(lstO.ListColumns("Colonne1").Index).Value Then
' ...
' ...
' ...
End If
Next
End If
Tu peux ajouter une ligne dans un tableau avec la syntaxe ci-dessous,
Dim lstR As ListRow
Dim lstO As ListObject
Set lstO = Range("Tableau1").ListObject
If Not lstO Is Nothing Then
Set lstR = Range("Tableau1").ListObject.ListRows.Add
lstR.Range(lstO.ListColumns("Observation").Index).Value = "Test"
End If
Voilà en attendant de plus amples renseignements.
le deuxième lorsque je ferme le tableau avec les boutons E/S ca me ferme ou ouvre tous mes autre tableaux excels ce qui me pose de gros souci lorsque je travail avec plusieurs tableaux
Là encore tu veux faire quoi de tes boutons ?