Problème d'ajustement de hauteur de ligne après un CopyFromRecordset
1 réponse
Thierry Euzenot
Bonjour,
J'ai une procédure de ce type :
' Création d'un nouvel objet Recordset (jeu d'enregistrement)
Set Rst = New ADODB.Recordset
Rsql = "SELECT pbprod_datcre, pbprod_type, pbprod_desig FROM pbprod WHERE
pbprod_datcre >= " & DebutSemaine & " AND pbprod_datcre <= " & FinSemaine &
" ORDER BY pbprod_datcre, pbprod_type;"
' Copie du jeu d'enregistrement vers la feuille de calcul
Feuil3.Range("A11").CopyFromRecordset Rst
' Fermeture du jeu d'enregistrements
Set Rst = Nothing
Le problème c'est que j'ai des données de différentes longueur (souvent
longues) et qui donc forcément ne rentrent pas dans les tailles de cellule
que j'ai défini comme base... j'aimerais pourtant que la hauteur de mes
lignes soient adaptées à la longueur du texte qui les composent.
Mais lorsque je double clique sur la barre de droite pour ajuster
automatiquement la hauteur de ligne, au lieu de l'agrandir, ça la réduit à
la taille de base (12.75 points)
(nota : l'option retour à la ligne automatique est activée)
J'ai même tenté de faire un Rows("11:23").EntireRow.AutoFit mais ça donne le
même résultat...
Du coup j'ai du user d'un subterfuge afin que mes lignes soient de la bonne
hauteur... mais c'est pas le top :
'Ajuste la hauteur des lignes
For LigneE = 11 To 23
LongueurTxt = Len(Feuil3.Range("C" & LigneE))
If LongueurTxt > 150 Then
NbLigne = Round(LongueurTxt / 75, 0) + 1
Feuil3.Rows(LigneE).RowHeight = NbLigne * 12.5
End If
Next LigneE
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick
Bonjour,
Un jour j'ai rencontré aussi ce problème. La seule solution que j'ai trouvée a été de repasser sur chaque ligne pour les ajuster, comme cela (c'est mon exemple, à toi de l'adapter) :
For Cpt = 3 To DernLigne .Rows(Cpt & ":" & Cpt).EntireRow.AutoFit Next
Cordialement.
-- Patrick
"Thierry Euzenot" wrote in message news:
Bonjour,
J'ai une procédure de ce type :
' Création d'un nouvel objet Recordset (jeu d'enregistrement) Set Rst = New ADODB.Recordset Rsql = "SELECT pbprod_datcre, pbprod_type, pbprod_desig FROM pbprod WHERE pbprod_datcre >= " & DebutSemaine & " AND pbprod_datcre <= " & FinSemaine &
' Copie du jeu d'enregistrement vers la feuille de calcul Feuil3.Range("A11").CopyFromRecordset Rst
' Fermeture du jeu d'enregistrements Set Rst = Nothing
Le problème c'est que j'ai des données de différentes longueur (souvent longues) et qui donc forcément ne rentrent pas dans les tailles de cellule que j'ai défini comme base... j'aimerais pourtant que la hauteur de mes lignes soient adaptées à la longueur du texte qui les composent. Mais lorsque je double clique sur la barre de droite pour ajuster automatiquement la hauteur de ligne, au lieu de l'agrandir, ça la réduit à la taille de base (12.75 points) (nota : l'option retour à la ligne automatique est activée) J'ai même tenté de faire un Rows("11:23").EntireRow.AutoFit mais ça donne le
même résultat...
Du coup j'ai du user d'un subterfuge afin que mes lignes soient de la bonne
hauteur... mais c'est pas le top : 'Ajuste la hauteur des lignes For LigneE = 11 To 23 LongueurTxt = Len(Feuil3.Range("C" & LigneE)) If LongueurTxt > 150 Then NbLigne = Round(LongueurTxt / 75, 0) + 1 Feuil3.Rows(LigneE).RowHeight = NbLigne * 12.5 End If Next LigneE
Si quelqu'un à une idée je suis preneur :o)
Bonjour,
Un jour j'ai rencontré aussi ce problème. La seule solution que j'ai trouvée
a été de repasser sur chaque ligne pour les ajuster, comme cela (c'est mon
exemple, à toi de l'adapter) :
For Cpt = 3 To DernLigne
.Rows(Cpt & ":" & Cpt).EntireRow.AutoFit
Next
Cordialement.
--
Patrick
"Thierry Euzenot" <te.st2e@free.fr> wrote in message
news:eDikhAXTEHA.3548@TK2MSFTNGP09.phx.gbl...
Bonjour,
J'ai une procédure de ce type :
' Création d'un nouvel objet Recordset (jeu d'enregistrement)
Set Rst = New ADODB.Recordset
Rsql = "SELECT pbprod_datcre, pbprod_type, pbprod_desig FROM pbprod WHERE
pbprod_datcre >= " & DebutSemaine & " AND pbprod_datcre <= " & FinSemaine
&
' Copie du jeu d'enregistrement vers la feuille de calcul
Feuil3.Range("A11").CopyFromRecordset Rst
' Fermeture du jeu d'enregistrements
Set Rst = Nothing
Le problème c'est que j'ai des données de différentes longueur (souvent
longues) et qui donc forcément ne rentrent pas dans les tailles de cellule
que j'ai défini comme base... j'aimerais pourtant que la hauteur de mes
lignes soient adaptées à la longueur du texte qui les composent.
Mais lorsque je double clique sur la barre de droite pour ajuster
automatiquement la hauteur de ligne, au lieu de l'agrandir, ça la réduit à
la taille de base (12.75 points)
(nota : l'option retour à la ligne automatique est activée)
J'ai même tenté de faire un Rows("11:23").EntireRow.AutoFit mais ça donne
le
même résultat...
Du coup j'ai du user d'un subterfuge afin que mes lignes soient de la
bonne
hauteur... mais c'est pas le top :
'Ajuste la hauteur des lignes
For LigneE = 11 To 23
LongueurTxt = Len(Feuil3.Range("C" & LigneE))
If LongueurTxt > 150 Then
NbLigne = Round(LongueurTxt / 75, 0) + 1
Feuil3.Rows(LigneE).RowHeight = NbLigne * 12.5
End If
Next LigneE
Un jour j'ai rencontré aussi ce problème. La seule solution que j'ai trouvée a été de repasser sur chaque ligne pour les ajuster, comme cela (c'est mon exemple, à toi de l'adapter) :
For Cpt = 3 To DernLigne .Rows(Cpt & ":" & Cpt).EntireRow.AutoFit Next
Cordialement.
-- Patrick
"Thierry Euzenot" wrote in message news:
Bonjour,
J'ai une procédure de ce type :
' Création d'un nouvel objet Recordset (jeu d'enregistrement) Set Rst = New ADODB.Recordset Rsql = "SELECT pbprod_datcre, pbprod_type, pbprod_desig FROM pbprod WHERE pbprod_datcre >= " & DebutSemaine & " AND pbprod_datcre <= " & FinSemaine &
' Copie du jeu d'enregistrement vers la feuille de calcul Feuil3.Range("A11").CopyFromRecordset Rst
' Fermeture du jeu d'enregistrements Set Rst = Nothing
Le problème c'est que j'ai des données de différentes longueur (souvent longues) et qui donc forcément ne rentrent pas dans les tailles de cellule que j'ai défini comme base... j'aimerais pourtant que la hauteur de mes lignes soient adaptées à la longueur du texte qui les composent. Mais lorsque je double clique sur la barre de droite pour ajuster automatiquement la hauteur de ligne, au lieu de l'agrandir, ça la réduit à la taille de base (12.75 points) (nota : l'option retour à la ligne automatique est activée) J'ai même tenté de faire un Rows("11:23").EntireRow.AutoFit mais ça donne le
même résultat...
Du coup j'ai du user d'un subterfuge afin que mes lignes soient de la bonne
hauteur... mais c'est pas le top : 'Ajuste la hauteur des lignes For LigneE = 11 To 23 LongueurTxt = Len(Feuil3.Range("C" & LigneE)) If LongueurTxt > 150 Then NbLigne = Round(LongueurTxt / 75, 0) + 1 Feuil3.Rows(LigneE).RowHeight = NbLigne * 12.5 End If Next LigneE